백엔드 개발 PHP 튜토리얼 数据库设计技巧(二)_PHP教程

数据库设计技巧(二)_PHP教程

Jul 13, 2016 pm 05:02 PM
key ~을 위한 닫다 필드 설립하다 기능 데이터 베이스 독립적인 ~의 시트 기록 설계 통과하다

1.为应用在多条记录的字段建立独立的表格
2.通过一个foreign key来关联这些表格的值
  我们将url的值放在一个独立的表格中,这样我们就可以在以后加入更多的数据,而无需担心产生重复的值。我们还通
过主键值来关联这些字段:
  users
  userId name company company_address
  1 Joe ABC 1 Work Lane
  2 Jill XYZ 1 Job Street
  urls
  urlId relUserId url
  1 1 abc.com
  2 1 xyz.com
  3 2 abc.com
  4 2 xyz.com
  如上所示,我们创建了独立的表格,users表中的主键userid现在与url表中的foreign key relUserId关联。现在的情
况好象已经得到了明显的改善。不过,如果我们要为ABC公司加入一个员工记录呢?或者更多,200个?这样我们就必须重
复使用公司名和地址,这明显不够冗余。因此我们将应用第三级正规化方法:
  第三级正规化形式
  1.消除不依赖于该键的字段
  公司名及地址与User Id都是没有关系的,因此它们应用拥有自己的公司Id:
  users
  userId name relCompId
  1 Joe 1
  2 Jill 2
  companies
  compId company company_address
  1 ABC 1 Work Lane
  2 XYZ 1 Job Street
  urls
  urlId relUserId url
  1 1 abc.com
  2 1 xyz.com
  3 2 abc.com
  4 2 xyz.com
  这样我们就将companies表中的主键comId和users表中名字为relCompId的foreign key关联起来,就算为ABC公司加入
200个员工,在companies中也只有一条记录。我们的users和urls表可以不断地扩大,而无需担心插入不必要的数据。大部
分的开发者都认为经过三步的正规化就足够了,这个数据库的设计已经可以很方便地处理整个企业的负担,此看法在大多
数的情况下是正确的。
  我们可以留意一下URL的字段--你注意到数据的冗余了吗?如果给用户用户输入这些url数据的HTML页面是一个文本
框,可任意输入的话,这并没有问题,两个用户输入同样收藏夹的概率较少,不过,如果是通过一个下拉式的菜单,只让
用户选择两个url输入,或者更多一点。这种情况下,我们的数据库还可以进行下一级别的优化--第四步,对于大多数的开
发者来说,这一步都是忽略的,因为它要依赖一个很特别的关系--一个多对多的关系,这在我们的应用中是还没有遇到过的.

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/631071.htmlTechArticle1.为应用在多条记录的字段建立独立的表格 2.通过一个foreign key来关联这些表格的值 我们将url的值放在一个独立的表格中,这样我们就可以在...
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

ZTE 5G 휴대용 Wi-Fi U50S는 초기 가격 NT$899에 판매됩니다: 최대 네트워크 속도 500Mbps ZTE 5G 휴대용 Wi-Fi U50S는 초기 가격 NT$899에 판매됩니다: 최대 네트워크 속도 500Mbps Apr 26, 2024 pm 03:46 PM

ZTE 5G 휴대용 Wi-Fi U50S는 초기 가격 NT$899에 판매됩니다: 최대 네트워크 속도 500Mbps

Honor Magic V3, AI 디포커스 눈 보호 기술 출시: 근시 발병을 효과적으로 완화 Honor Magic V3, AI 디포커스 눈 보호 기술 출시: 근시 발병을 효과적으로 완화 Jul 18, 2024 am 09:27 AM

Honor Magic V3, AI 디포커스 눈 보호 기술 출시: 근시 발병을 효과적으로 완화

패치가 불가능한 Yubico 2단계 인증 키 취약점으로 인해 대부분의 Yubikey 5, 보안 키 및 YubiHSM 2FA 장치의 보안이 손상되었습니다. 패치가 불가능한 Yubico 2단계 인증 키 취약점으로 인해 대부분의 Yubikey 5, 보안 키 및 YubiHSM 2FA 장치의 보안이 손상되었습니다. Sep 04, 2024 pm 06:32 PM

패치가 불가능한 Yubico 2단계 인증 키 취약점으로 인해 대부분의 Yubikey 5, 보안 키 및 YubiHSM 2FA 장치의 보안이 손상되었습니다.

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼 Jun 04, 2024 pm 01:42 PM

PHP에서 MySQLi를 사용하여 데이터베이스 연결을 설정하는 방법에 대한 자세한 튜토리얼

2024년 Apple iPad Pro/Air는 2세대 Apple Pencil을 지원하지 않습니다. 필요한 경우 새 모델을 구입할 수 있습니다. 2024년 Apple iPad Pro/Air는 2세대 Apple Pencil을 지원하지 않습니다. 필요한 경우 새 모델을 구입할 수 있습니다. May 08, 2024 pm 04:07 PM

2024년 Apple iPad Pro/Air는 2세대 Apple Pencil을 지원하지 않습니다. 필요한 경우 새 모델을 구입할 수 있습니다.

새로운 스태킹 프로세스! Xiaomi MIX Fold 4에는 처음으로 Jinshajiang '3차원 특수형' 배터리가 장착되었습니다. 새로운 스태킹 프로세스! Xiaomi MIX Fold 4에는 처음으로 Jinshajiang '3차원 특수형' 배터리가 장착되었습니다. Jul 20, 2024 am 03:20 AM

새로운 스태킹 프로세스! Xiaomi MIX Fold 4에는 처음으로 Jinshajiang '3차원 특수형' 배터리가 장착되었습니다.

Honor X60i 휴대폰은 1,399위안부터 판매됩니다: 시각적 사변형 OLED 다이렉트 스크린 Honor X60i 휴대폰은 1,399위안부터 판매됩니다: 시각적 사변형 OLED 다이렉트 스크린 Jul 29, 2024 pm 08:25 PM

Honor X60i 휴대폰은 1,399위안부터 판매됩니다: 시각적 사변형 OLED 다이렉트 스크린

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다. Jul 18, 2024 am 05:48 AM

iOS 18에는 손실되거나 손상된 사진을 검색할 수 있는 새로운 '복구된' 앨범 기능이 추가되었습니다.

See all articles