s0数据库应用》实验指导/实验五:则S视图和数据完整性1 《 MySQL数据库应用》实验指导 实验五 MySQL视图和数据完整性 、实验目的 1、熟悉视图的概念和作用 2、熟练视图的创建方法; 3、熟悉如何查询和修改视图; 4、掌握数据完整性的实现方法。 二、实验学时 2学时 三、实验类型 验证性 四、实验需求 1、硬件 每位学生配备计算机一台: PentiumⅢ以上处理器,2G或以上内存,2G或以上硬盘空间 2、软件 Windows操作系统,安装 MySQL Community Server软件 3、网络 局域网环境 4、工具 五、实验理论与预备知识 1、了解视图的概念 2、了解创建视图的方法 3、了解对视图的操作; 4、掌握各种数据完整性的实现方法, 六、实验内容与结果 1、创建视图 以数据库user_db及数据表 student、 teacher、 class、 course、sc为基础(数据表及相关表数据来 源于实验三),执行视图的创建、查询、更新和删除,请将实现功能的SQL语句填写到实验报告册 创建视图格式: 管理科学与工程学科/共3页第1页
《MySQL 数据库应用》实验指导 / 实验五: MySQL 视图和数据完整性 1 管理科学与工程学科 / 共 3 页,第 1 页 《MySQL 数据库应用》实验指导 实验五 MySQL 视图和数据完整性 一、实验目的 1、熟悉视图的概念和作用; 2、熟练视图的创建方法; 3、熟悉如何查询和修改视图; 4、掌握数据完整性的实现方法。 二、实验学时 2 学时 三、实验类型 验证性 四、实验需求 1、硬件 每位学生配备计算机一台:Pentium III 以上处理器,2G 或以上内存,2G 或以上硬盘空间。 2、软件 Windows 操作系统,安装 MySQL Community Server 软件。 3、网络 局域网环境。 4、工具 无。 五、实验理论与预备知识 1、了解视图的概念; 2、了解创建视图的方法; 3、了解对视图的操作; 4、掌握各种数据完整性的实现方法。 六、实验内容与结果 1、创建视图 以数据库 user_db 及数据表 student、teacher、class、course、sc 为基础(数据表及相关表数据来 源于实验三),执行视图的创建、查询、更新和删除,请将实现功能的 SQL 语句填写到实验报告册; 创建视图格式:
《 My SQL数据库应用》实验指导/实验五: My SQL视图和数据完整性 2 CREATE[ OR REPLACE]VIEW视图名[列名… lect语句 TWITH ICASCADED LOCALI CHECK OPTIONI (1)在当前数据库xsgj中创建计算机专业学生的视图,包括学号、姓名和专业名; (2)在当前数据库xsgj中创建计算机专业学生的视图,包括学号、姓名和成绩; (3)当前数据库是test,在数据库xscj上创建计算机专业学生的视图,包括学号、姓名和成绩 (4)创建数据库ⅹsej上的计算机专业学生的平均成绩视图,包括学号和平均成绩 5)创建数据库ⅹsej上的计算机专业学生的平均成绩视图,包括学号和平均成绩。 2、查询视图 (1)在视图 jsj cj中查询计算机专业学生的学号和选修的成绩; (2)在视图 jsj cj中查询计算机专业学生的学号和平均成绩; (3)在视图 jsj cj中查询计算机专业学生平均成绩在80分以上的学生的学号和平均成绩 3、更新视图 (1)创建视图csxs,视图中包含学生学号、姓名、专业名、总学分,并向其插入一条记录 (“2015001’,‘张三’,‘计算机’,50); (2)在视图csxs中,将所有学生的总学分增加8分 删除视图 (1)删除视图csxs中张三(学号2015001)的记录 5、创建每个表的主键、外键和非空约束 (1)创建 Primary Key约束 方法一:创建表时,同时创建 primary key约束 CREATE TABLE表名 列名数据类型 primary key I primary key(列名;…) 方法二:修改表时,同时创建 primary key约束 ALTER TABLE表名 ADD CONSTRAINT[完整性约束名]] PRIMARY KEY(列名……) (2)创建 Foreign key约束 CREATE TABLE表名 列名数据类型, 理科学与工程学科/共3页第2页
《MySQL 数据库应用》实验指导 / 实验五: MySQL 视图和数据完整性 2 管理科学与工程学科 / 共 3 页,第 2 页 CREATE [OR REPLACE] VIEW 视图名 [(列名… )] AS select 语句 [WITH [CASCADED |LOCAL] CHECK OPTION] (1) 在当前数据库 xscj 中创建计算机专业学生的视图,包括学号、姓名和专业名; (2) 在当前数据库 xscj 中创建计算机专业学生的视图,包括学号、姓名和成绩; (3) 当前数据库是 test,在数据库 xscj 上创建计算机专业学生的视图,包括学号、姓名和成绩; (4) 创建数据库 xscj 上的计算机专业学生的平均成绩视图,包括学号和平均成绩; (5) 创建数据库 xscj 上的计算机专业学生的平均成绩视图,包括学号和平均成绩。 2、查询视图 (1)在视图 jsj_cj 中查询计算机专业学生的学号和选修的成绩; (2)在视图 jsj_cj 中查询计算机专业学生的学号和平均成绩; (3)在视图 jsj_cj 中查询计算机专业学生平均成绩在 80 分以上的学生的学号和平均成绩; 3、更新视图 (1)创建视图 cs_xs,视图中包含学生学号、姓名、专业名、总学分,并向其插入一条记录 (‘2015001’,‘张三’,‘计算机’,50); (2)在视图 cs_xs 中,将所有学生的总学分增加 8 分。 4、删除视图 (1)删除视图 cs_xs 中张三(学号'2015001')的记录。 5、创建每个表的主键、外键和非空约束 (1)创建 Primary Key 约束 方法一:创建表时,同时创建 primary key 约束 CREATE TABLE 表名 列名 数据类型 primary key | primary key (列名,……) ; 方法二:修改表时,同时创建 primary key 约束 ALTER TABLE 表名 ADD [CONSTRAINT [完整性约束名] ] PRIMARY KEY (列名……) ; (2)创建 Foreign key 约束 CREATE TABLE 表名 列名 数据类型
《 My SQL数据库应用》实验指导/实验五: My SQL视图和数据完整性 3 FOREIGN KEY(列名) REFERENCES被参照的表名(列名) [ON DELETE (RESTRICT CASCADE SET NULL NO ACTIONI [ON UPDATE (RESTRICT I CASCADE I SET NULL NO ACTIONI 方法三:修改表时,同时创建 Foreign key约束 ALTER TABLE表名 ADD( CONSTRAINT[完整性约束名]] foreign key(列名) REFERENCES被参照的 表名(列名) 3)添加 Not nu约束 方法一:创建表时添加 Not null约束 Create table表名 列名数据类型 not null; 方法二:修改表时添加 Not nul约束 Alter table表名 modify列名数据类型 not null; 理科学与工程学科/共3页第3页
《MySQL 数据库应用》实验指导 / 实验五: MySQL 视图和数据完整性 3 管理科学与工程学科 / 共 3 页,第 3 页 ……, FOREIGN KEY (列名) REFERENCES 被参照的表名 (列名) [ON DELETE {RESTRICT | CASCADE | SET NULL |NO ACTION] [ON UPDATE {RESTRICT | CASCADE | SET NULL |NO ACTION]; 方法三:修改表时,同时创建 Foreign key 约束 ALTER TABLE 表名 ADD [CONSTRAINT [完整性约束名] ] foreign key(列名) REFERENCES 被参照的 表名 (列名) ; (3)添加 Not null 约束 方法一:创建表时添加 Not null 约束 Create table 表名 列名 数据类型 not null ; 方法二:修改表时添加 Not null 约束 Alter table 表名 modify 列名 数据类型 not null ;