可动态扩展的数据库模型设计
在通常的数据库设计中,我们定义了每个实体有多少个属性,每个属性的数据类型是什么,有多长,是否允许为空,有什么约束条件等,这些定义是完全静态的,系统创建时就全部定义好,不能动态修改。但是对于实体的属性变化很快,或者实体和属性由用户在系统中自
在通常的数据库设计中,我们定义了每个实体有多少个属性,每个属性的数据类型是什么,有多长,是否允许为空,有什么约束条件等,这些定义是完全静态的,系统创建时就全部定义好,不能动态修改。但是对于实体的属性变化很快,或者实体和属性由用户在系统中自行定义的情况下,那么就需要一个可以动态扩展的数据库模型,以保存各种动态产生的数据。
比如我们要做一个电子商务网站,需要建立一个商品表以保存各种要卖出的商品的属性。但是商品的属性各种各样,不同类别的商品在属性上千差万别,不可能建立一个静态的商品表来存储所有的属性。这个时候就需要建立动态的数据库模型。
常见的动态扩展的数据库设计方法有以下几种:
一、以字符串存储各种数据类型,通过行转列实现实体属性读取。
以前提到的电子商务网站的商品实体为例,我们可以建立两个表“商品”和“商品属性”,商品表为普通的商品属性,可以将商品名称、价格等大部分商品的公共属性放到该表中。商品表与商品属性表形成一对多关系,商品属性表只需要定义商品“属性名”和“属性值”这两个属性用于保存一个商品的各个属性。
这样在每读取一个商品时,可以读取该商品的属性集合,然后将属性集合重新绑定到对象,将该对象暂时在页面上。
这种做法的优点是灵活,可以为商品创建无数个不同的属性,可以应对电商这种快速变化,快速上线的需求。缺点是后期做统计的时候会很慢,因为需要行转列,如果要涉及到各种Join查询之类的也会很麻烦。
二、预定义大量的冗余列,根据用户对实体属性的类型设置匹配对应的列。
如果我们不希望行转列的话,那么可以预先定义好数据列,由于不确定是哪种数据类型,所以我们可以将表的列定义的特别多,每个不同的数据类型都定义几个或者十来个列,这些列都是允许为空的,如果没有使用已经预定义好的列,并不会占据多少数据空间。
在SharePoint 2007或者更早的版本中,对列表的数据存储就是采用这种方式,以下是SharePoint2007中的AllUserData表的结构。基本上为每种数据类型定义了十来个到几十个的列,用户在创建不同的列表时,都可以使用这个表存储列表数据。
这种数据库设计方法的优点是不会存在行转列的问题,所以在join或者出报表时性能较好,缺点就是使得一个表的列特别多,而且大部分列在大多数情况下是不使用的,而且扩展比较困难,比如我们要定义17个bit类型的列,但是系统默认只有16个,这种情况下,就需要在数据库中使用2行数据来表示1行列表数据。
三、使用XML数据类型存储动态列数据。
XML数据类型是SQL的一个标准,目前主流的数据库都支持XML数据类型,数据库为XML提供专门的语法以快速检索和操作XML数据。在新版的SharePoint中,就使用XML来存储用户自定义列表的内容。
对于前面提到的商品表和商品属性表,其实也可以只建立商品表,在该表中添加一XML类型的列,用于存储商品的各种属性。这是比较推荐的一种处理方法。
四、为用户定义的实体动态创建表。
还有一直动态方法是在程序中动态创建表,用户每在程序中定义一个实体的时候,就好根据用户定义创建一个对应的表。比如微软的Dynamic CRM就是这样实现的。用户可以在系统中创建大量的实体,并且还可以定义实体之间的关系,系统就会按照用户的定义创建对应的表,以及外键。
这种方法的优点是性能好,每个实体与其数据库表相对应,不存在大量的冗余列,也不会存在行转列的问题。缺点是开发难度大,对用户的要求高;而且在创建好实体并且存储了大量数据后,如果想要修改实体属性,那么将很困难。

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











7월 12일 뉴스에 따르면, 새로운 Honor Vision Soothing Oasis 눈 보호 화면을 탑재한 Honor Magic V3 시리즈가 오늘 공식 출시되었습니다. 화면 자체는 높은 사양과 품질을 갖추고 있으면서도 AI 능동형 눈 보호 장치 도입을 개척했습니다. 기술. 근시를 완화하는 전통적인 방법은 근시 안경의 도수가 고르게 분포되어 있어 중심 시력 영역은 망막에 맺히지만 주변 영역은 망막 뒤에 맺히는 것으로 알려져 있습니다. 망막은 상이 뒤쳐져 있음을 감지하여 눈의 축방향 성장을 촉진시켜 정도를 심화시킵니다. 현재 근시 발생을 완화시키는 주요 방법 중 하나가 '디포커스 렌즈'다. 중심 영역은 정상적인 도수를 갖고, 주변 영역은 광학 설계 파티션을 통해 조절해 주변 영역의 상이 안으로 들어가게 한다. 망막 앞.

소프트웨어 기술의 선두에 있는 UIUC Zhang Lingming 그룹은 BigCode 조직의 연구원들과 함께 최근 StarCoder2-15B-Instruct 대규모 코드 모델을 발표했습니다. 이 혁신적인 성과는 코드 생성 작업에서 획기적인 발전을 이루었으며 CodeLlama-70B-Instruct를 성공적으로 능가하고 코드 생성 성능 목록의 최상위에 올랐습니다. StarCoder2-15B-Instruct의 독창성은 순수한 자체 정렬 전략에 있습니다. 전체 훈련 프로세스는 개방적이고 투명하며 완전히 자율적이고 제어 가능합니다. 이 모델은 값비싼 수동 주석에 의존하지 않고 StarCoder-15B 기본 모델을 미세 조정한 것에 대한 응답으로 StarCoder2-15B를 통해 수천 개의 명령을 생성합니다.

1. 소개 지난 몇 년 동안 YOLO는 계산 비용과 감지 성능 간의 효과적인 균형으로 인해 실시간 객체 감지 분야에서 지배적인 패러다임이 되었습니다. 연구원들은 YOLO의 아키텍처 설계, 최적화 목표, 데이터 확장 전략 등을 탐색하여 상당한 진전을 이루었습니다. 동시에 사후 처리를 위해 NMS(비최대 억제)에 의존하면 YOLO의 엔드투엔드 배포가 방해되고 추론 대기 시간에 부정적인 영향을 미칩니다. YOLO에서는 다양한 구성 요소의 설계에 포괄적이고 철저한 검사가 부족하여 상당한 계산 중복이 발생하고 모델 기능이 제한됩니다. 이는 최적이 아닌 효율성을 제공하며 성능 향상을 위한 상대적으로 큰 잠재력을 제공합니다. 이 작업의 목표는 사후 처리와 모델 아키텍처 모두에서 YOLO의 성능 효율성 경계를 더욱 향상시키는 것입니다. 이를 위해

표적 탐지 시스템의 벤치마크 YOLO 시리즈가 다시 한 번 대대적인 업그레이드를 받았습니다. 올해 2월 YOLOv9이 출시된 이후 YOLO(YouOnlyLookOnce) 시리즈의 지휘봉은 칭화대학교 연구진의 손에 넘어갔다. 지난 주말 YOLOv10 출시 소식이 AI 커뮤니티의 관심을 끌었다. 컴퓨터 비전 분야의 획기적인 프레임워크로 간주되며 실시간 엔드투엔드 개체 감지 기능으로 유명하며 효율성과 정확성을 결합한 강력한 솔루션을 제공함으로써 YOLO 시리즈의 유산을 이어갑니다. 논문 주소: https://arxiv.org/pdf/2405.14458 프로젝트 주소: https://github.com/THU-MIG/yo

7월 29일 뉴스에 따르면 Honor X60i 휴대폰은 오늘부터 1,399위안부터 공식 판매되고 있다. 디자인 측면에서 Honor X60i 휴대폰은 중앙에 구멍이 있고 4면 모두 경계가 거의 없는 매우 좁은 테두리가 있는 직선형 스크린 디자인을 채택하여 시야를 크게 넓혔습니다. Honor X60i 매개변수 디스플레이: 6.7인치 고화질 디스플레이 배터리: 5000mAh 대용량 배터리 프로세서: Dimensity 6080 프로세서(TSMC 6nm, 2x2.4G A76+6×2G A55) 시스템: MagicOS8.0 시스템 기타 기능: 5G 신호 향상 , 스마트 캡슐, 언더스크린 지문, 듀얼 마이크, 소음 감소, 지식 Q&A, 사진 촬영 기능: 후면 듀얼 카메라 시스템: 5천만 화소 메인 카메라, 200만 화소 보조 렌즈, 전면 셀카 렌즈: 800만 화소, 가격: 8GB

5월 13일 뉴스에 따르면 vivoX100s는 오늘 밤 공식적으로 출시되었으며 뛰어난 이미지 외에도 신호 성능도 매우 뛰어납니다. vivo의 공식 소개에 따르면 vivoX100s는 최대 21개의 안테나가 장착된 혁신적인 범용 신호 증폭 시스템을 사용합니다. 이 디자인은 5G, 4G, Wi-Fi, GPS, NFC 등 다양한 신호 요구 사항의 균형을 맞추기 위해 다이렉트 화면을 기반으로 다시 최적화되었습니다. 이로써 vivoX100s는 생체 역사상 가장 강력한 신호 수신 기능을 갖춘 휴대폰이 되었습니다. 새 휴대폰은 또한 안테나가 본체 주위에 분산된 독특한 360° 서라운드 디자인을 사용합니다. 이 디자인은 신호 강도를 향상시킬 뿐만 아니라 다양한 일상 자세를 최적화하여 부적절한 쥐기 방법으로 인해 발생하는 문제를 방지합니다.

Apple의 최신 iOS18, iPadOS18 및 macOS Sequoia 시스템 릴리스에는 사진 애플리케이션에 중요한 기능이 추가되었습니다. 이 기능은 사용자가 다양한 이유로 손실되거나 손상된 사진과 비디오를 쉽게 복구할 수 있도록 설계되었습니다. 새로운 기능에는 사진 앱의 도구 섹션에 '복구됨'이라는 앨범이 도입되었습니다. 이 앨범은 사용자가 기기에 사진 라이브러리에 포함되지 않은 사진이나 비디오를 가지고 있을 때 자동으로 나타납니다. "복구된" 앨범의 출현은 데이터베이스 손상으로 인해 손실된 사진과 비디오, 사진 라이브러리에 올바르게 저장되지 않은 카메라 응용 프로그램 또는 사진 라이브러리를 관리하는 타사 응용 프로그램에 대한 솔루션을 제공합니다. 사용자는 몇 가지 간단한 단계만 거치면 됩니다.

올해 2월 Google은 엔지니어링 및 인프라 최적화, MoE 아키텍처 및 기타 전략을 통해 성능과 속도를 크게 향상시킨 다중 모드 대형 모델 Gemini 1.5를 출시했습니다. 더 긴 컨텍스트, 더 강력한 추론 기능, 교차 모달 콘텐츠 처리 능력이 향상되었습니다. 이번 금요일에 Google DeepMind는 Flash 버전과 기타 최신 업그레이드를 다루는 Gemini 1.5의 기술 보고서를 공식적으로 발표했습니다. 이 문서의 길이는 153페이지입니다. 기술 보고서 링크: https://storage.googleapis.com/deepmind-media/gemini/gemini_v1_5_report.pdf 이 보고서에서 Google은 Gemini1을 소개합니다.
