實驗五 mysql資料完整性的基本操作(4學時)
【實驗名稱】mysql資料完整性的基本操作
【實驗目的】
理解實現資料完整性的概念
掌握建立、修改主鍵約束的方法
掌握利用mysql語句建立其它約束的方法
【實驗內容】
實驗課本中的實驗4。
【實驗要求】
注意不同型別資料完整性的特點和實現方法;
各種約束的功能及對錶資料修改的影響
實驗過程(步驟)或程式**:
drop
database ts4;
use teaching;
create
table course1 as
select
*from course;
alter
table course1 add
primary
key(cname)
;
alter
table course1 drop
primary
key;
alter
table course1 add
primary
key(courseno)
;
insert
into course1 values
('c05188'
,'電子技術'
,'必修'
,'64'
,'16'
,'2');
insert
into course1 values
('c05188'
,'控制原理'
,'必修'
,'64'
,'20'
,'3');
desc
table score1;
show
create
table score1;
create
table score1 as
select
*from score;
alter
table score1
addconstraint fk_cou_score1
foreign
key(courseno)
references course(courseno)
;
執行出現報錯:
error code: 1826. duplicate foreign key constraint name 『fk_cou_score』
原因分析:fk_cou_score在之前已經建立了
糾錯:在外鍵後加個1
insert
into score1 values
('18137221508'
,'c05109',94
,92);
insert
into score1 values
('18137221508'
,'c11111',94
,92);
#建立檢查約束,final值以0~100為界
alter
table score1
addconstraint sc_check1 check
(final >=
0and final <=
100)
;
insert into score1 values(『19126113307』,『c05109』,94,99);#執行成功
insert into score1 values(『19122203567』,『c05109』,94,101);#執行錯誤,因為final大於100
alter
table student add
unique
(phone)
;
select studentno,sname,phone from student;
insert
into student values
('19126113306'
,'梅青'
,'女'
,'2001/9/7'
,'787'
,'13245678543'
)
;#執行錯誤,因為存在null空建
執行結果:
成 績:
教師簽名:
月 日
MySQL資料完整性(實體完整性 域完整性)
資料完整性 為保證插入到資料庫中的資料是正確的,防止使用者輸入錯誤的資料 分為實體完整性 域完整性 參照完整性 下節再說 1 實體完整性 實體指的是表中的一行,一行記錄對應乙個實體 通過主鍵實現 主鍵 關鍵字 primary key 特點 不能為null,並且唯一。邏輯主鍵 推薦 例如id,不代表實...
mysql 完整性 詳解MySQL 資料完整性
資料完整性分為 實體完整性,域完整性,參考完整性。參照完整性指的就是多表之間的設計,主要使用外來鍵約束。多表設計 一對多 多對多 一對一設計 一 實體 行 完整性 實體完整性通過表的主鍵來實現。使用主鍵來表示一條記錄的唯一,且不為空 語法 primary key 主鍵分類 邏輯主鍵 例如id,不代表...
資料庫實驗五 完整性
一 實驗目的 1 掌握資料庫約束的概念 2 熟悉 sql server 的完整性約束技術。3 了解 sql server 的違反完整性處理措施。二 實驗環境 windows下的sql 三 實驗內容 1.在前幾次實驗所使用的資料庫中新建乙個教師資訊表,表名為 teacher 字段包括 tno 教師編號...