A. 資料庫中什麼是主鍵,什麼是外鍵
主鍵(Primary key): 也稱為主碼或主關鍵字,用於惟一地確定一個元組的屬性或屬性組(復合主回碼)。每個關系答都有一個並且只有一個主碼。
外鍵(Foreign Key):也稱為外碼或外部關鍵字。如果一個屬性集不是所在關系的關鍵字,但是是其他關系的關鍵字,則該屬性集稱為外部關鍵字。
在關系資料庫中可以通過外鍵使兩個關系關聯,這種聯系通常是一對多(1:n)的,其中主(父)關系(1方)稱為被參照關系,從(子)關系(n方)稱為參照關系。
(1)資料庫班級表可以插入什麼擴展閱讀:
資料庫主鍵作用:
1、保證實體的完整性
2、加快資料庫的操作速度
3、在表中添加新記錄時,DBMS會自動檢查新記錄的主鍵值,不允許該值與其他記錄的主鍵值重復。
4、DBMS自動按主鍵值的順序顯示表中的記錄。如果沒有定義主鍵,則按輸入記錄的順序顯示表中的記錄。
在有些資料庫中,雖然主鍵不是必需的,但最好為每個表都設置一個主鍵,不管是單主鍵還是復合主鍵。它存在代表著表結構的完整性,表的記錄必須得有唯一區分的欄位,主鍵主要是用於其他表的外鍵關聯,以及本記錄的修改與刪除。
B. 班級資料庫設計
--創建資料庫
create database 1班
go
use 1班
go
--創建宿舍表宿舍號主鍵 電話長度7隻能輸入數字
create table 宿舍表
(
宿舍號 int identity(1,1) primary key,
電話 varchar(7)
check(len(電話)=7 and 電話 like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9]')
)
go
--創建同學表
create table 同學表
(學號 varchar(8),
姓名 varchar(8) UNIQUE,
性別 varchar(8) check(性別='男' or 性別='女'),
民族 varchar (8),
身份證 varchar(20) UNIQUE,
宿舍號 int foreign key(宿舍號) REFERENCES 宿舍表(宿舍號)
)
insert into 宿舍表(電話) values('6333333')
insert into 同學表 values('123,''張三','女','漢','210106198107084018',1)