MySQL之實體完整性和多表查詢

2021-07-25 20:32:58 字數 2193 閱讀 7030

1、資料完整性是為了保證插入到資料中的資料是正確的,它防止了使用者可能的輸入錯誤

2、分為三類

l  實體完整性

l  域完整性

l  參照完整性

規定表的一行(即每一條記錄)在表中是唯一的實體。實體完整性通過表的主鍵來實現

主鍵的特點:不能為null,必須有值,且不能重複。

主鍵分類:

邏輯主鍵:不代表實際意義,只是區分不同記錄用的。比如id

業務主鍵:代表者具體的實際意義。比如身份證號  使用者名稱

create table t2(

idint primary key,#primary key 宣告id是主鍵

namevarchar(100)

create table t4(

idint,

namevarchar(100),

primary key(id)

create table t3(

idint primary key auto_increment,#auto_increment 資料庫自動增長

namevarchar(100)

指資料庫表的列(即欄位)必須符合某種特定的資料型別或約束。

非空約束:not null

唯一約束:unique

create table t6(

idint primary key auto_increment,

usernamevarchar(100) not null unique, 非空和唯一約束

gendervarchar(10) not null  非空約束

表間的關係:

一對多(用的最多)

多對多(用的很多)

一對一(幾乎不用)

9.3.1一對多:部門和員工的關係

create table department(

idint primary key,

namevarchar(100)

create table employee(

idint primary key,

namevarchar(100),

salaryfloat(8,2),

department_idint,

constraintdepartment_id_fk foreign key(department_id) references department(id)

9.3.2多對多:老師和學員

create table teacher(

idint primary key,

namevarchar(100),

salaryfloat(8,2)

create table student(

idint primary key,

namevarchar(100),

gradevarchar(10)

create table teacher_student(

t_idint,

s_idint,

constraintt_id_fk foreign key(t_id) references teacher(id),

constraints_id_fk foreign key(s_id) references student(id),

primarykey(t_id,s_id)

9.3.3一對一(了解)

l  按照外來鍵關聯:

create table person(

idint primary key,

namevarchar(100)

create table idcard(

idint primary key,

numbervarchar(20),

person_idint unique,

constraintperson_id_fk foreign key(person_id) references person(id)

l  按照主鍵關聯:

create table person(

idint primary key,

namevarchar(100)

create table idcard(

idint primary key,

numbervarchar(20),

constraintperson_id_fk foreign key(id) references person(id)

MySQL資料完整性(實體完整性 域完整性)

資料完整性 為保證插入到資料庫中的資料是正確的,防止使用者輸入錯誤的資料 分為實體完整性 域完整性 參照完整性 下節再說 1 實體完整性 實體指的是表中的一行,一行記錄對應乙個實體 通過主鍵實現 主鍵 關鍵字 primary key 特點 不能為null,並且唯一。邏輯主鍵 推薦 例如id,不代表實...

實體完整性

一 mysql資料完整性約束 資料完整性約束的概念 在表中定義完整性約束是作為資料定義的一部分,定義了完整性約束,資料庫會隨時檢測處於更新狀態的資料庫內容是否符合相關的完整性約束,保證資料的正確性與一致性。完整性約束既能有效地防止對資料庫的意外破壞和非法訪問,提高完整性檢測的效率,還能減輕資料庫程式...

MySQL 資料完整性與多表查詢

多表查詢 自然連線 自連線級聯刪除 1 實體完整性 1 主鍵 primary key primary key column1 alter table add constraint con stu id primary key id 2 唯一 unique 3 自增長列 auto increment ...