数据库实验

合集下载

数据库完整性实验总结(必备6篇)

数据库完整性实验总结(必备6篇)

数据库完整性实验总结第1篇时间流水,短短的两周就流逝了,回想在这两周的实训生活,我从单一,片面的学习进入了全面,系统的学习,学好它更是一项大任务。

而对于如何学好它,光靠理论知识是远远不够的,_同志曾经就说过“实践是检验真理的唯一标准”!正如大师傅炒菜,知道炒菜的程序,主料、调料一清二楚,不真正掌勺,永远也成不了“大厨”。

而学校给我们提供了这样一个机会,让我们自己_掌勺_,使我们从实践中,加深了对数据库的理解。

经过这次的实训,我们对数据库有了更深的了解,从书面的明白到实践的理解,接触到了自己以前没有接触到的东西,并让我加深了数据库知识的学习和理解,也使我进一步了解数据库,这次实训可以为我们以后真正的实际数据库系统设计提供很好的借鉴。

更使我明白遇到什么挫折,不气馁,不放弃,勇于探索,才会让自己离成功越来越近!俗话说:知之为知之,不知为不知!不要不懂装懂,有什么不懂的要敢于向_知之者_请教!知识是慢慢积累而成的,我们学习不仅要学习理论知识,而实践也是非常重要的,只有当两者结合,才会获得收获!我们这次实习对我们的认识起到了很大的启发作用,使我们以后在接触数据库的过程中少走点弯路。

也使我们对人生和社会有了更清楚的认识,任何的成功都有艰辛和汗水铺出来的,没有那么多的意外收获。

我们要学的还有很多,要接触的还不知道有多少,以后的路还很漫长,我相信我会更加努力的,把握现在,为自己的未来而奋斗,展开双翅飞向美好的未来!在这里很感谢xxx老师给我们传授了这么多的知识和经验,让我们在毕业之际更好的填补自己的不足。

数据库完整性实验总结第2篇在学习《数据库原理及应用》这门课之前,就和课本上提到的一个观点一样,认为它只是存放数据的仓库而已,但是现在我深深体会到这个观点是多么的片面。

数据库是长期存储在计算机内,有组织、可共享的大量的数据集合,前者只能表达它的一方面而已。

数据库技术发展到今天已经是一门非常成熟的技术,它的技术水平、应用水平多比初始时都有了很大的改变,但是它的最基本的特征却没有变,概括起来有以下几个方面:第一点:数据库是相互关联的的数据集合;即在数据库中不仅要能够表示数据本身,还要能够表示数据与数据之间的关系。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。

实验内容:具体包括如下三部分。

一、熟悉上机环境。

客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。

具体包括:1.了解SQL Server 环境。

鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。

点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。

因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。

2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。

如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。

3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。

二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。

1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。

数据库系统实验课实验报告

数据库系统实验课实验报告

数据库系统实验课实验报告一、实验目的数据库系统实验课是一门重要的实践课程,旨在通过实际操作和实验,深入理解数据库系统的原理和应用,提高我们的数据库设计、管理和应用开发能力。

本次实验的具体目的包括:1、熟悉数据库管理系统(DBMS)的操作环境和基本命令。

2、掌握数据库的创建、表的设计、数据的插入、查询、更新和删除等基本操作。

3、学会使用 SQL 语句进行复杂的数据查询和数据处理。

4、理解数据库的完整性约束、索引和存储过程的概念及应用。

5、培养解决实际数据库问题的能力和团队协作精神。

二、实验环境本次实验使用的数据库管理系统是 MySQL 80,实验在 Windows 10 操作系统上进行。

使用的开发工具包括 MySQL Workbench 和命令行终端。

三、实验内容1、数据库的创建使用 CREATE DATABASE 语句创建了一个名为“student_management”的数据库,用于存储学生管理相关的数据。

2、表的设计在“student_management”数据库中,设计了以下几张表:“students”表,包含学生的学号(student_id)、姓名(student_name)、性别(gender)、年龄(age)等字段。

“courses”表,包含课程的课程号(course_id)、课程名称(course_name)、学分(credit)等字段。

“enrolls”表,用于记录学生选课的信息,包含学号(student_id)、课程号(course_id)、成绩(grade)等字段。

在设计表时,为每个字段选择了合适的数据类型,并设置了主键和外键约束,以保证数据的完整性和一致性。

3、数据的插入使用 INSERT INTO 语句向“students”、“courses”和“enrolls”表中插入了一些示例数据,以便进行后续的查询和操作。

4、数据的查询使用简单的 SELECT 语句查询了“students”表中的所有学生信息。

数据库查询实验报告步骤

数据库查询实验报告步骤

一、实验目的1. 熟悉数据库查询的基本概念和操作方法。

2. 掌握SQL语言中SELECT语句的使用,包括基本查询、条件查询、排序查询、分组查询和子查询等。

3. 提高数据库查询的实际操作能力,为后续课程学习和实践打下基础。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 数据库:实验数据库(包含学生信息、课程信息、成绩信息等)三、实验步骤1. 登录数据库管理系统打开MySQL命令行客户端,输入用户名和密码登录数据库管理系统。

2. 创建实验数据库在MySQL命令行客户端中,创建一个名为“实验数据库”的数据库。

```sqlCREATE DATABASE 实验数据库;```3. 创建数据表在“实验数据库”中,创建以下数据表:(1)学生信息表(student)```sqlCREATE TABLE student (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),age INT,gender VARCHAR(10),class_id INT);```(2)课程信息表(course)```sqlCREATE TABLE course (id INT PRIMARY KEY AUTO_INCREMENT,name VARCHAR(50),credit INT);```(3)成绩信息表(score)```sqlCREATE TABLE score (id INT PRIMARY KEY AUTO_INCREMENT,student_id INT,course_id INT,score INT,FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id) );```4. 插入数据向数据表中插入一些数据,以供查询使用。

数据库实验-建立数据库

数据库实验-建立数据库

数据库实验建立数据库一.实验目的1.学会使用SQL的基本语句,会创建数据库。

在Windows系统下学会使用SQL Server编写数据库。

2.熟悉数据库Microsoft SQL Server环境,会连接到SQL Server服务器,创建database,新建查询,在查询中实现对已创建的数据库进行基本操作。

3.掌握SQL基本操作建立表(create)、插入数据(insert)、设立主键与外键、查询数据(select)、更新数据(update)、删除数据(delete)、删除表或主键(drop)等方法。

4.使用所学的查询语句对表格进行自己比较感兴趣的查询、删除、更新;同时进行各种自己比较感兴趣的操作,观察数据库系统的反应并思考其中的原因。

二.实验内容由于我的实验的选题是“学籍与成绩管理系统”,所以实验的内容包括:1.创建数据库Student即“学生与成绩管理系统”;2.在已创建的数据库中创建6个表格包括学生表、课程表、教师表、系表、授课表和学生选课表;3.分别为每个表设立主键和外键,并说明它们的关系;4.建立表之间的参照关系,建立适当的索引。

5.使用insert向每个表中插入数据,我选择的数据已三国时期人物为准,其中向主表至少插入5行数据,向子表至少插入30行数据;6.使用selcet * from观察数据,其中观察的内容为自己比较感兴趣的数据,有:(1).先观察学生表学生的信息、学生性别为“女”的学生信息、系代号不为“01”、“02”、“03”的学生信息、班级号、性别等信息查询;(2).使用*查询课程的所有信息,再分别列出课程所有属性查看课程信息;(3).同理查看教师、系表、授课表和学生选课表的信息;(4).查询教师教授的课程名称和教师名称;(5).查询学数据库的学生信息和教师信息;(6).查询“02000001”班级有选修课学生的学生老师和课程相关的信息;(7).查询学生“刘备”所学的课程的总学分;7.删除已创建的表和清空表中的所有数据;8.在子表中输入含有不存在外键值的数据,观察数据库系统的反应;9.更新部分同学的学籍情况;10.删除部分同学的学籍信息。

数据库常用对象实验报告

数据库常用对象实验报告

一、实验目的1. 理解数据库的基本概念和常用对象。

2. 掌握数据库的创建、修改和删除操作。

3. 熟悉数据库中表、视图、索引、存储过程等对象的创建和使用。

4. 培养实际操作数据库的能力,提高数据库应用水平。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库的基本操作2. 表的创建、修改和删除3. 视图的创建和使用4. 索引的创建和使用5. 存储过程的创建和使用四、实验步骤1. 数据库的基本操作(1)创建数据库打开MySQL Workbench,连接到本地MySQL服务器。

在“对象浏览器”中,右键点击“数据库”,选择“创建数据库”。

在弹出的对话框中,输入数据库名称(如:test_db),点击“创建”按钮。

(2)删除数据库在“对象浏览器”中,右键点击要删除的数据库,选择“删除数据库”。

在弹出的对话框中,点击“确定”按钮。

2. 表的创建、修改和删除(1)创建表在“对象浏览器”中,右键点击“表”,选择“创建表”。

在弹出的对话框中,输入表名(如:students),然后定义表中的列和类型。

例如:```id INT AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50) NOT NULL,age INT NOT NULL,class VARCHAR(50) NOT NULL```点击“保存”按钮,创建成功。

(2)修改表在“对象浏览器”中,右键点击要修改的表,选择“修改表”。

在弹出的对话框中,可以对表中的列进行添加、删除、修改等操作。

(3)删除表在“对象浏览器”中,右键点击要删除的表,选择“删除表”。

在弹出的对话框中,点击“确定”按钮。

3. 视图的创建和使用(1)创建视图在“对象浏览器”中,右键点击“视图”,选择“创建视图”。

在弹出的对话框中,输入视图名称(如:view_students),然后编写SQL查询语句。

(完整版)数据库实验报告

(完整版)数据库实验报告

数据库实验报告姓名学号目录一.实验标题:2二.实验目的:2三.实验内容:2四.上机软件:3五.实验步骤:3(一)SQL Server 2016简介3(二)创建数据库 4(三)创建数据库表 7(四)添加数据17六.分析与讨论: 19一.实验标题:创建数据库和数据表二.实验目的:1.理解数据库、数据表、约束等相关概念;2.掌握创建数据库的T-SQL命令;3.掌握创建和修改数据表的T-SQL命令;4.掌握创建数据表中约束的T-SQL命令和方法;5.掌握向数据表中添加数据的T-SQL命令和方法三.实验内容:1.打开“我的电脑”或“资源管理器”,在磁盘空间以自己的姓名或学号建立文件夹;2.在SQL Server Management Studio中,使用create database命令建立“学生-选课”数据库,数据库文件存储在步骤1建立的文件夹下,数据库文件名称自由定义;3.在建立的“学生-选课”数据库中建立学生、课程和选课三张表,其结构及约束条件如表所示,要求为属性选择合适的数据长度;4.添加具体数据;四.上机软件:SQL Server 2016五.实验步骤:(一)SQL Server 2016简介1.SQL Server 2016的界面2.启动和退出SQL Server 20161)双击图标,即出现SQL Server2016的初始界2)选择“文件”菜单中的“退出”命令,或单击控制按钮中的“×”即可注意事项:1.在退出SQL Server 2016之前,应先将已经打开的数据库进行保存,2.如果没有执行保存命令,系统会自动出现保存提示框,根据需要选择相应的操作(二)创建数据库方法一:1.点击“新建查询”,出现如下对话框2.在空白区域输入创建数据库“学生选课”的代码命令,点击“执行”3.消息框中出现“命令已成功完成”即表示数据库创建成功,在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”方法二:1.右击数据库,在弹出的快捷菜单中选择“新建”2.在弹出的对话框中输入“学生选课”3. 在“对象资源管理器”中,右击“数据库”,打开快捷菜单,选择“刷新”命令,在“数据库”向下会出现新创建的数据库“学生选课”注意事项:数据库名称在服务器中必须唯一,并且符合标识符的规则(三)创建数据库表1.左键点击“学生选课”数据库,再点击“新建查询”,在出现的空白对话框中输入如图代码后点击“执行”,消息框中出现“命令已成功执行”即成功建立好学生、课程、选课三张表2.建立成功后的表格如图所示注意事项:1.T-SQL中创建数据库表的指令格式为:Create table 表名(字段名1 数据类型{identify | not null | null},字段名2 数据类型{identify | not null | null},……)null表示该字段的值可以为控制,空值意味着没有任何存储数据,这是默认参数,当所定义的字段允许空值时,参数null可以忽略not null表示该字段的值不能为空值identify称为计数器,表示该字段的值是一组递增的证书数据。

数据库原理及应用实验报告

数据库原理及应用实验报告

数据库原理及应用实验报告一、实验目的通过本次实验,深入理解数据库的原理与应用,掌握数据库的基本操作和常见应用场景。

二、实验内容1.数据库的基本概念与原理:关系型数据库与非关系型数据库的区别,数据库的组成要素,关键概念解释等。

2. 数据库的设计与建模:根据需求设计数据库的ER图,熟悉数据库建模工具的使用,如Eclipse、PowerDesigner等。

3.数据库语言与操作:学习SQL语言,包括数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)等,通过SQL语句对数据库进行增删改查操作。

4.索引的使用与优化:了解数据库索引的原理和作用,学习索引的创建、使用和优化技巧,提高数据库查询性能。

5.数据库的备份与恢复:掌握数据库的备份与恢复的方法,学会使用数据库备份工具进行数据的完整备份和恢复操作。

三、实验步骤1.确定数据库需求,设计ER图。

2.使用数据库建模工具创建数据库表,定义字段和关系。

3.使用SQL语句创建数据库和表结构。

4.插入数据并进行增删改查操作,验证数据库的正常使用。

5.创建索引并对查询语句进行优化,提高查询性能。

6.使用数据库备份工具进行数据备份,测试数据的完整恢复。

四、实验结果与分析本次实验中,我选择了一个简单的学生管理系统作为实验的对象。

首先,根据需求设计了ER图,确定了数据库表的结构和关系。

然后使用数据库建模工具创建了对应的数据库表。

接下来,使用SQL语句对数据库进行了初始化和插入数据,并通过增删改查操作验证了数据库的正常使用。

在插入大量数据后,使用索引对查询语句进行了优化,提高了查询性能。

最后,使用数据库备份工具对数据进行了完整备份,并进行了测试恢复操作,确保数据的可靠性和完整性。

通过本次实验,我深入了解了数据库的基本概念与原理,掌握了数据库的设计与建模技巧。

同时,我也学会了使用SQL语言进行数据库的增删改查操作,并掌握了索引的使用和优化方法。

数据库的备份与恢复操作也让我加深了对数据库安全性的认识。

数据库实验报告全

数据库实验报告全

数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。

4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。

实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。

2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。

3)⽤T-SQL语句删除数据库CPXS_bak。

2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。

3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。

6.将CP表中每种商品的价格打8折。

7.将CP表中价格打9折后⼩于1500的商品删除。

⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。

)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。

数据库原理及应用实验教案

数据库原理及应用实验教案

数据库原理及应用实验教案第一章:数据库基础1.1 实验目的了解数据库的基本概念掌握数据库的基本操作1.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具1.3 实验内容实验一:创建数据库和表学习使用数据库管理系统的命令行工具或图形界面工具创建数据库学习使用SQL语句创建表实验二:数据库的简单操作学习使用SQL语句进行数据的插入、查询、更新和删除操作第二章:数据库设计2.1 实验目的掌握数据库设计的基本步骤和方法学会使用实体-关系模型设计数据库2.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具2.3 实验内容实验三:实体-关系模型设计学习实体-关系模型的基本概念和表示方法根据给定的需求设计实体-关系模型实验四:将实体-关系模型转换为数据库模式学习将实体-关系模型转换为数据库模式的方法将设计的实体-关系模型转换为数据库模式第三章:SQL语言3.1 实验目的掌握SQL语言的基本操作学会使用SQL语言进行数据库的创建、查询和更新操作3.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具3.3 实验内容实验五:SQL语言的基本操作学习使用SQL语言创建数据库、表、视图和索引学习使用SQL语言进行数据的插入、查询、更新和删除操作第四章:数据库的安全与保护4.1 实验目的了解数据库的安全与保护的基本概念和方法学会使用数据库管理系统的权限管理和备份恢复功能4.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具4.3 实验内容实验六:数据库的权限管理学习使用数据库管理系统的权限管理功能,创建用户和角色,分配权限实验七:数据库的备份与恢复学习使用数据库管理系统的备份与恢复功能,进行数据库的备份和恢复操作第五章:数据库应用系统设计与实现5.1 实验目的掌握数据库应用系统的设计与实现的基本步骤和方法学会使用数据库管理系统进行应用程序的开发5.2 实验环境安装有数据库管理系统(如MySQL、Oracle或SQL Server)的计算机数据库管理系统的客户端工具编程语言环境和开发工具(如Java、Python或C等)5.3 实验内容实验八:数据库应用系统的设计与实现学习使用数据库管理系统进行应用程序的连接、查询和更新操作实验九:实现简单的数据库应用功能使用编程语言环境和开发工具,实现用户登录、数据查询和数据增删改等功能实验十:测试与优化数据库应用系统对实现的数据库应用系统进行测试和优化,确保系统的稳定性和性能第六章:数据库性能优化6.1 实验目的学习数据库性能优化的基本策略和方法。

数据库实验7 数据库设计实验

数据库实验7 数据库设计实验

实验7 数据库模型的设计与建立1.一、实验目的:2.了解数据库设计概念设计中的基本知识: 如实体、属性、联系集…3.能解决设计中常见问题: 如把一个对象转化成实体还是属性4.使学生能独立完成数据库模式的设计, 包括各表的结构(属性名、类型、约束和关键字等)及表之间的关系以及其连接方式, 在选定的DBMS上建立数据库表。

5.熟悉数据库建模工具的使用(PowerDesigner)二、实验要求:1. 认真阅读业务需求, 作出E-R图, 并依据设计原则对数据库结构的设计务必做到最优化2. 在选定的DBMS上建立数据库, 比较手工输入SQL建立数据库与用建模工具自动生成数据库的优缺点三、实验环境及学时安排:1. OFFICE, POWERDESIGN112.SQL SERVER20003. 学时: 3学时四、实验内容:以完成学生选课系统的数据库设计为例。

如: 某学院有基本实体集: 系、教师、学生和课程。

1.它们各有属性:系: 系编号、系名, 位置课程: 课程号, 课程名称, 开课学期学生: 学生学号, 学生姓名、性别、地址教师:员工号, 教师姓名, 办公室2.有如下语义设定每个系有一位系主任, 有多位教师;一个教师仅在一个系任职;每个系开设多门不同课程;每门课程由多位教师授课;一位教师可教多门课程一个学生可以选修多门课程。

一门课程可以供多位学生选修3.存在联系有:1对1: 系与系主任(系主任是教师)1对多: 系与教师、系与课程多对多: 学生与课程,教师与课程五、实验任务及步骤:1.实验准备1)根据需求建立ER模型:ER模型的组成:实体属性联系连接2)ER模型转换为数据库表●实体转化为表●实体的属性转化为表中的列●多对多联系也转化为表, 主键确定为相联系表中主键的组合, 联系本身的属性转化为表的列一对一、一对多联系无需新建表, 被决定的一方应含有决定方的主键作为外部键3)利用power designer建立所要求的数据库2.实验操作1)新建word文件, 并保存为ER.doc2)分析需求, 画出上述关系的E-R 图(word) 3) 根据ER 模型进行数据库的逻辑结构设计: (建模工具PowerDesign 建立phisical data model) 六、实验结果按照需求绘制E-R 图如下:完整的实体-联系E-R 图如下:建立数据库模型(概念数据模型)如下:n mn mn 111系 教师学生课程系-老师教授选修系主任系编号 系名 位置员工号教师姓名办公室课程号课程名开课学期学号姓名性别地址物理数据模型如下:。

数据库上的基本操作实验

数据库上的基本操作实验

数据库上的基本操作实验数据库是现代信息管理的重要工具,用于存储和组织大量的数据。

为了使数据能够高效地存储和检索,数据库系统提供了一系列基本操作,本实验将介绍数据库的基本操作以及它们的使用方法。

一、数据库的基本操作1.创建数据库创建数据库是使用数据库系统的第一步。

我们可以通过使用数据库管理系统(DBMS,例如MySQL、Oracle)提供的命令或图形界面来创建数据库。

在命令行中,我们可以使用如下命令创建数据库:CREATE DATABASE database_name;2.创建表数据库中的数据是通过表来组织的,表是由行和列组成的二维表格。

我们可以使用如下命令来创建表:CREATE TABLE table_namecolumn1 datatype,column2 datatype,column3 datatype,...其中,table_name是表的名称,column1、column2、column3是表的列名,datatype是列的数据类型。

3.插入数据一旦表创建完成,我们可以通过INSERTINTO语句将数据插入到表中。

语法如下:INSERT INTO table_name (column1, column2, column3, ...)VALUES (value1, value2, value3, ...);其中,table_name是表的名称,column1、column2、column3是表的列名,value1、value2、value3是要插入的值。

4.查询数据查询是数据库中最常用的操作之一,可以通过使用SELECT语句来查询数据。

语法如下:SELECT column1, column2, ...FROM table_nameWHERE condition;其中,column1、column2是要查询的列名,table_name是要查询的表名,condition是查询条件。

5.更新数据更新数据可以使用UPDATE语句来完成。

实验3 数据库完整性

实验3 数据库完整性

实验3 数据库完整性目录实验1.1 实体完整性 (1)实验1.2参照完整性 (1)实验1.3 触发器的应用 (1)实验1.1 实体完整性1)在数据库School中建立表Stu_Union,进行主键约束,在没有违反实体完整性的前提下插入并更新一条记录2)演示违反实体完整性的插入操作3)演示违反实体完整性的更新操作实验1.2参照完整性1)为演示参照完整性,建立表Course,令cno为其主键,并在Stu_Union中插入数据。

为下面的实验步骤做预先准备。

2)建立表sc,另sno和cno分别为参照Stu_Union表以及Course表的外键,设定为级连删除,并令(sno, cno)为其主键。

在不违反参照完整性的前提下,插入数据。

3)演示违反参照完整性的插入数据4)在Stu_Union中删除数据,演示级连删除。

5)Course中删除数据,演示级连删除。

6)为了演示多重级连删除,建立Stu_Card表,令stu_id为参照Stu_Union表的外键,令card_id 为其主键,并插入数据。

7)为了演示多重级连删除,建立ICBC_Card表,令stu_card_id为参照Stu_Card表的外键,令bank_id为其主键,并插入数据。

8)通过删除students表中的一条记录,演示三个表的多重级连删除。

实验1.3 触发器的应用重要提示:在做以下练习前,先删除sc对stu_union的外键引用1)在表sc中演示触发器的insert操作,当学生成绩低于60分时,自动改为60,并在事先创建的记录表中插入一条学生成绩低于60的记录。

提示:另外创建一个表记录成绩低于60分的学生的真实记录。

2)在表stu_union中创建行级触发器,触发事件是UPDATE。

当更新表stu_union的Sid时,同时更新sc中的选课记录。

提示:这个触发器的作用实际上相当于具有CASCADE参数的外键引用。

3)在表stu_union中删除一学生的学号(演示触发器的delete 操作),使他在sc中关的信息同时被删除。

数据库完整性实验报告

数据库完整性实验报告

数据库完整性实验报告引言数据库完整性是数据库管理系统中的一个重要概念,用于确保数据库中数据的准确性、有效性和一致性。

本实验旨在通过设计和实现一系列完整性约束,来验证数据库完整性的实际应用。

实验目标本实验的目标是设计并实现以下几种完整性约束:1.实体完整性约束2.参照完整性约束3.用户自定义完整性约束实验环境本实验使用了以下工具和环境:•数据库管理系统:MySQL•编程语言:Python•集成开发环境:Jupyter Notebook实验步骤步骤一:数据库设计首先,我们需要设计一个符合实验需求的数据库。

我们选择一个简单的学生管理系统作为示例,包含以下两个实体:1.学生(Student):包含学生的学号、姓名和年龄。

2.课程(Course):包含课程的课程号、课程名和学分。

步骤二:实体完整性约束实体完整性约束用于保证每个实体在数据库中都有唯一的标识。

在本实验中,我们将为学生实体添加一个主键约束,保证每个学生的学号是唯一的。

CREATE TABLE Student (id INT PRIMARY KEY,name VARCHAR(50),age INT);步骤三:参照完整性约束参照完整性约束用于保证关系数据库中的引用一致性。

在本实验中,我们将为课程实体添加一个外键约束,引用学生实体的主键。

CREATE TABLE Course (id INT PRIMARY KEY,name VARCHAR(50),credits INT,student_id INT,FOREIGN KEY (student_id) REFERENCES Student(id));步骤四:用户自定义完整性约束用户自定义完整性约束是根据具体业务需求自定义的约束条件。

在本实验中,我们将为课程实体添加一个自定义约束,保证学分必须大于等于0。

ALTER TABLE CourseADD CONSTRAINT chk_credits CHECK (credits >=0);实验结果通过以上步骤,我们已经成功设计并实现了实体完整性约束、参照完整性约束和用户自定义完整性约束。

数据库实验报告_广工

数据库实验报告_广工

实验题目:数据库设计与实现实验时间:2023年X月X日实验地点:广东工业大学计算机学院实验室实验指导老师:XXX一、实验目的1. 理解数据库的基本概念和原理。

2. 掌握数据库的设计方法,包括需求分析、概念结构设计、逻辑结构设计和物理结构设计。

3. 学会使用数据库管理系统(DBMS)进行数据库的创建、查询、更新和删除等操作。

4. 提高数据库应用能力,为后续课程学习和实际工作打下基础。

二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 需求分析本实验以学生信息管理系统为例,分析并确定系统所需的功能模块和数据表。

功能模块:(1)学生信息管理:包括学生信息的增加、修改、删除和查询。

(2)课程信息管理:包括课程信息的增加、修改、删除和查询。

(3)成绩信息管理:包括成绩信息的增加、修改、删除和查询。

数据表:(1)学生信息表(Student):包含学号、姓名、性别、出生日期、专业、班级等字段。

(2)课程信息表(Course):包含课程编号、课程名称、学分、授课教师等字段。

(3)成绩信息表(Score):包含学号、课程编号、成绩等字段。

2. 概念结构设计根据需求分析,使用E-R图进行概念结构设计。

E-R图如下:(1)学生信息表(Student):包含学号(主键)、姓名、性别、出生日期、专业、班级等字段。

(2)课程信息表(Course):包含课程编号(主键)、课程名称、学分、授课教师等字段。

(3)成绩信息表(Score):包含学号(外键)、课程编号(外键)、成绩等字段。

3. 逻辑结构设计根据概念结构设计,使用SQL语句进行逻辑结构设计。

以下是创建数据表的SQL语句:```sqlCREATE TABLE Student (student_id INT PRIMARY KEY,name VARCHAR(50),gender CHAR(1),birth_date DATE,major VARCHAR(50),class VARCHAR(50));CREATE TABLE Course (course_id INT PRIMARY KEY,course_name VARCHAR(50),credit INT,teacher VARCHAR(50));CREATE TABLE Score (student_id INT,course_id INT,score DECIMAL(5,2),FOREIGN KEY (student_id) REFERENCES Student(student_id),FOREIGN KEY (course_id) REFERENCES Course(course_id));```4. 物理结构设计根据逻辑结构设计,使用MySQL Workbench进行物理结构设计。

数据库实验

数据库实验
9. 按系统计各系平均成绩在80分以上的人数,结果按降序排列;
10.通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果;
11.通过视图V_IS,新增加一个学生记录 ('S12','YAN XI',19,'IS'),并查询结果;
12. 通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果;
3、 分别在表Student、SC上按“sno”列的唯一值方式建立索引,可能出现问题吗?情况有什么区别?
4、 能否在非主属性列上建立索引?其恰当的方式是什么?
九、பைடு நூலகம்题
1、 在表的定义中,如何确定属性是 NOT NULL / NULL? ( 主码 ,关键字,主属性/主属性)
2、 能否将Student,Course,SC表单独以一个数据文件的形式保存在磁盘上?
1.在表Student、Course、SC上进行简单查询、连接查询、嵌套查询;
2.使用聚合函数的查询;
3.对数据的分组查询;
4.对数据的排序查询。
七、实验内容
在表Student,Course,SC上完成以下查询:
1. 查询学生的基本信息;
2. 查询“CS”系学生的基本信息;
3. 查询“IS”系学生年龄不在19到21之间的学生的学号、姓名;
实验一 数据描述、定义实验
实验时间:3月24日
一、学时
4学时
二、实验类型
演示、设计
三、实验目的
1、熟悉和掌握数据库的创建和连接方法;

数据库实验报告

数据库实验报告

数据库实验报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。

文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作总结、工作计划、演讲致辞、策划方案、合同协议、规章制度、条据文书、诗词鉴赏、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as work summaries, work plans, speeches, planning plans, contract agreements, rules and regulations, doctrinal documents, poetry appreciation, teaching materials, other sample essays, etc. If you want to learn about different sample formats and writing methods, please stay tuned!数据库实验报告数据库实验报告(通用3篇)数据库实验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1.这次实习可以使我们在课本上学到的知识用于实践增加了我对电脑技巧的一些认知。

数据库实验1-7

数据库实验1-7

1《实验一 认识DBMS 》在SQL Server 2005中完成以下操作:(1) 建立SC 数据库,数据库命名:SC_姓名拼音+学号后三位,如SC_xiebing131;(2) 在其中建立Student 表、Course 表和SC 表,表结构如下,自己选择各属性的数据类型;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 为主码,并且Sname 取值也唯一 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 为主码,并且Cname 取值也唯一选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码(3) 参照教材在各表中输入一定的记录,在student 表中输入一条自己的记录;(4) 进行表结构的修改和记录的修改、删除操作;(5) 验证教材P45基本关系具有的6个性质;(6) 分离数据库,保存数据库文件,以后上机要带上。

《实验二数据定义》实验内容:(1) 数据库的定义与删除(2)基本表的创建、修改及删除;(3) 索引的创建和删除;(4) 使用SQL 对数据进行完整性控制(实体完整性、参照完整性);(一)使用命令行方式建立SPJ 数据库(1)用SQL 语言建立SPJ 数据库,数据库命名:SPJ-姓名拼音+学号后三位,如SPJ-liyan112;(2)用SQL 语言在其中建立S 表、P 表、J 表和SPJ 表(要求进行完整性定义),表结构如下;厂家 S (SNO ,SNAME ,STA TUS ,CITY ),其中STA TUS (状态)为整型,其他均为字符型产品 P (PNO ,PNAME ,COLOR ,WEIGHT ),其中WEIGHT (重量)为浮点型,其他均为字符型工程 J (JNO ,JNAME ,CITY ),其中各属性均为字符型供应 SPJ (SNO ,PNO ,JNO ,QTY ),其中QTY (供应量)为整型,其他均为字符型建立数据表的语法格式CREA TE TABLE <表名>(<列名><数据类型>[<列级完整性约束条件> ] [,<列名><数据类型>[<列级完整性约束条件>]] …[,<表级完整性约束条件> ] );(3) 参照教材用SQL 语言分别在4个数据表中输入一定的记录;插入数据的语法格式:INSERTINTO <表名> [(<属性列1>[,<属性列2 >…)]V ALUES (<常量1> [,<常量2>] … )(4) 保存SQL 文件,文件名:SPJ-姓名拼音+学号后三位.sql ,如SPJ-xukai012.sql(二)使用命令行方式建立学生课程数据库(1) 用SQL 语言建立学生课程数据库,数据库命名:SC_学号后四位及姓名,如SC_3112liyan ;(2) 用SQL 语言在学生课程数据库中建立3个表,要求进行完整性定义;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 不能为空,值是唯一的,并且Sname 取值也唯一,Sage 自定义约束“大于16” 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 不能为空,值是唯一的,并且Cname 取值也唯一教师关系Teacher(Tno ,Tname ,Department ,Email ,Salary) 其中Tno 不能为空,值是唯一的选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码,Grade 的数据类型为int(3) 修改数据表:✓ 将SC 表中Grade 的数据类型改为f loat ;✓ 在Student 表中增加一个属性Scome 记录学生的入学时间,其数据类型为DATETIME ;✓ 删除Student 表中新增加Scome 属性;✓ 删除表Teacher 表中的Email 属性;✓ 删除Student 表中对Sname 属性创建的Unique 约束。

数据库实验4-实验报告

数据库实验4-实验报告

数据库实验4-实验报告数据库实验 4 实验报告一、实验目的本次数据库实验 4 的主要目的是深入理解和掌握数据库中的某些关键概念和操作,通过实际的操作和实践,提高对数据库管理系统的应用能力,增强解决实际问题的技能。

二、实验环境本次实验使用的数据库管理系统为_____,运行环境为_____操作系统,使用的开发工具为_____。

三、实验内容与步骤(一)创建数据库首先,打开数据库管理系统,使用相应的命令或操作界面创建了一个名为“_____”的数据库。

在创建过程中,指定了数据库的一些基本属性,如字符集、排序规则等,以满足后续数据存储和处理的需求。

(二)创建数据表在创建好的数据库中,根据实验要求创建了若干个数据表。

例如,创建了一个名为“students”的表,用于存储学生的信息,包括学号(student_id)、姓名(student_name)、年龄(age)等字段。

创建表时,仔细定义了每个字段的数据类型、长度、是否允许为空等属性,以确保数据的准确性和完整性。

(三)数据插入接下来,向创建的数据表中插入了一些测试数据。

通过执行相应的插入语句,将学生的具体信息逐个插入到“students”表中。

在插入数据的过程中,特别注意了数据的格式和合法性,避免了因数据错误导致的插入失败。

(四)数据查询完成数据插入后,进行了各种查询操作。

使用了简单的查询语句,如“SELECT FROM students”来获取所有学生的信息。

还使用了条件查询,如“SELECT FROM students WHERE age >18”来获取年龄大于 18 岁的学生信息。

通过这些查询操作,熟悉了如何从数据库中获取所需的数据。

(五)数据更新对已有的数据进行了更新操作。

例如,通过执行“UPDATE students SET age = 20 WHERE student_id =1”的语句,将学号为 1 的学生的年龄更新为20 岁。

在更新数据时,谨慎操作,确保只更新了预期的记录。

数据库实验五实验报告

数据库实验五实验报告

数据库实验五实验报告一、实验目的本实验旨在通过学习数据库的索引和优化,掌握数据库索引的使用和优化方法,进一步提升数据库的查询性能。

二、实验要求1.理解数据库索引的概念及作用。

2.熟悉索引的创建、删除和修改操作。

3.了解索引的类型及适用场景,并能选取合适的索引类型。

4.能通过观察执行计划和使用适当的策略对查询进行优化。

三、实验步骤1.索引的创建和删除首先,在已创建的数据库中选择适合创建索引的表。

通过如下语句创建一个测试表:CREATE TABLE test_table(id INT PRIMARY KEY,name VARCHAR(50),age INT);然后,可以在表的字段上创建索引,通过如下语句创建一个索引:CREATE INDEX idx_name ON test_table(name);索引创建完成后,可以通过如下语句删除索引:DROP INDEX idx_name ON test_table;2.索引的修改可以使用ALTER TABLE语句对已创建的索引进行修改。

例如,修改索引的名称:ALTER INDEX idx_name RENAME TO new_idx_name;或者修改索引的定义:ALTER INDEX idx_name RENAME COLUMN new_column_name;3.选择合适的索引类型在创建索引时,需要选择合适的索引类型。

常见的索引类型包括B树索引、哈希索引和全文索引。

- B树索引:适用于等值查询、范围查询和排序场景。

- 哈希索引:适用于等值查询,不支持范围查询和排序。

- 全文索引:适用于全文搜索场景。

4.查询优化在进行数据库查询时,可以通过观察执行计划来判断查询是否有优化空间。

执行计划是数据库在执行查询时生成的查询执行步骤和顺序图,可以根据执行计划优化查询。

另外,还可以通过以下策略对查询进行优化:- 使用合适的索引类型- 避免使用LIKE操作符- 避免使用SELECT *查询所有字段- 避免多表连接查询- 使用JOIN代替子查询- 避免使用不必要的DISTINCT操作符- 分页查询时,使用LIMIT关键字限制结果数量四、实验结果与分析通过实验,我们成功创建了一个测试表,并在该表的字段上创建了索引。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《数据库原理》实验班级:学号:姓名:实验1建立基本表和数据完整性实验目的:1.掌握表(关系)和索引的建立方法;2.掌握表结构(关系模式)的修改方法;3.实践DBMS提供的数据完整性功能,加深对数据完整性的理解。

实验内容:1.在studentdb数据库中利用查询分析器创建以下3个表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性):student(学生信息表):sc实验代码:createdatabase studentdbuse studentdbgocreatetable student(sno char(10)notnull primarykey,--学号sname char(10)notnull,--姓名ssex char(2)null,--性别sage smallint null check(sage>=12),--年龄sdept char(15),--系名)createtable course(cno Char(2)notnull primarykey,--课程号cname Char(20)null,-- 课程名称cpno Char(2)null,--先行课号ccredit smallint null,--学分)createtable sc(sno char(10)notNULL,--学号cno char(2)notNULL,--课程号grade Decimal(5,1)NULL check(grade>=0AND grade<=100),--成绩primarykey(sno,cno),/*主码由两个属性构成,必须作为表级完整性进行定义*/foreignkey(sno)references student(sno),/*表级完整性约束条件,sno是外码,被参照表是student*/foreignkey(cno)references course(cno),/*表级完整性约束条件,cno是外码,被参照表是course*/)go2.在spjdb数据库中利用查询分析器创建以下4个表,同时完成数据完整性的定义(实体完整性、参照完整性和用户定义的域完整性):S(供应商信息表):PJcreatedatabase spjdbuse spjdbgocreatetable S(sno char(2)NOTNULL primarykey,--供应商号sname char(10)NOTNULL,--供应商名称status smallint NULL CHECK(status>0),--供应商状态city char(10)NULL,--所在城市)createtable P(pno char(2)NOTNULL primarykey,--零件号pname char(10)NOTNULL,--零件名称color char(2)NULL,--颜色weight smallint NULL CHECK(weight>0),--重量)createtable J(jno char(2)NOTNULL PRIMARYKEY,--工程项目号jname char(10)NOTNULL,--工程项目名称city char(10)NULL,--所在城市)createtable SPJ(sno Char(2)NOTNULL,--供应商号pno Char(2)NOTNULL,--零件号jno Char(2)NOTNULL,--工程项目号qty smallint NULL CHECK(qty>0),--供应数量primarykey(sno,pno,jno),foreignkey(sno)references S(sno),/*表级完整性约束条件,sno是外码,被参照表是S*/foreignkey(pno)references P(pno),/*表级完整性约束条件,pno是外码,被参照表是P*/foreignkey(jno)references J(jno),/*表级完整性约束条件,jno是外码,被参照表是J*/)3.修改表结构,具体要求如下:(1)将表course的cname列的数据类型改为varchar(40)。

altertable coursealtercolumn cnamevarchar(40);(2)为表student增加一个新列:birthday(出生日期),类型为datetime,默认为空值。

altertable studentadd birthday datetimedefault null;4.分别建立以下索引(如果不能成功建立,请分析原因)(1)在student表的sname列上建立普通降序索引。

createindex sname on student(sname desc);(2)在course表的cname列上建立唯一索引。

createuniqueindex cname on course(cname);(3)在sc表的sno列上建立聚簇索引。

createCLUSTEREDindex sc on sc(sno)//不成功,系统默认给主键分配了一个聚簇索引(4)在SPJ表的sno(升序),pno(升序)和jno(降序)三列上建立一个普通索引。

createindex spj on spj(sno asc,pno asc,jno desc);实验2SQL数据操作实验目的:1.向实验1建立的表中添加数据(元组),掌握INSERT语句的用法;2.修改基本表中的数据,掌握UPDATE语句的用法;3.删除基本表中的数据,掌握DELETE语句的用法;4.体会数据完整性约束的作用,加深对数据完整性及其约束的理解。

实验内容:1.将教材P表中的数据添加到数据库studentdb中。

82use studentdbgoINSERTinto student(sno,sname,ssex,sage,sdept)values(,'李勇','男',20,'CS'); INSERTinto student(sno,sname,ssex,sage,sdept)values(,'刘晨','女',19,'CS'); INSERTinto student(sno,sname,ssex,sage,sdept)values(,'王敏','女',18,'MA'); INSERTinto student(sno,sname,ssex,sage,sdept)values(,'张立','男',29,'IS'); use studentdbgoINSERTinto course(cno,cname,cpno,ccredit)values(1,'数据库',5,4);INSERTinto course(cno,cname,cpno,ccredit)values(2,'数学',null,2);INSERTinto course(cno,cname,cpno,ccredit)values(3,'信息系统',1,4);INSERTinto course(cno,cname,cpno,ccredit)values(4,'操作系统',6,3);INSERTinto course(cno,cname,cpno,ccredit)values(5,'数据结构',7,4);INSERTinto course(cno,cname,cpno,ccredit)values(6,'数据处理',null,2); INSERTinto course(cno,cname,cpno,ccredit)values(7,'PASCAL语言',6,4);use studentdbgoINSERTinto sc(sno,cno,grade)values(,1,92);INSERTinto sc(sno,cno,grade)values(,2,85);INSERTinto sc(sno,cno,grade)values(,3,88);INSERTinto sc(sno,cno,grade)values(,2,90);INSERTinto sc(sno,cno,grade)values(,3,80);表中的数据添加到数据库spjdb中,体会执行插入操作时检查实体2.将教材P75完整性规则、参照完整性规则和用户定义完整性规则的效果。

use spjdbgoinsertinto S(SNO,SNAME,STATUS,CITY)VALUES('S1','精益',20,'天津');insertinto S(SNO,SNAME,STATUS,CITY)VALUES('S2','盛锡',10,'北京');insertinto S(SNO,SNAME,STATUS,CITY)VALUES('S3','东方红',30,'北京');insertinto S(SNO,SNAME,STATUS,CITY)VALUES('S4','丰泰盛',20,'天津');insertinto S(SNO,SNAME,STATUS,CITY)VALUES('S5','为民',30,'上海');use spjdbgoinsertinto P(PNO,PNAME,COLOR,WEIGHT)VALUES('P1','螺母','红',12);insertinto P(PNO,PNAME,COLOR,WEIGHT)VALUES('P2','螺栓','绿',17);insertinto P(PNO,PNAME,COLOR,WEIGHT)VALUES('P3','螺丝刀','蓝',14);insertinto P(PNO,PNAME,COLOR,WEIGHT)VALUES('P4','螺丝刀','红',14);insertinto P(PNO,PNAME,COLOR,WEIGHT)VALUES('P5','凸轮','蓝',40);insertinto P(PNO,PNAME,COLOR,WEIGHT)VALUES('P6','齿轮','红',30);use spjdbgoinsertinto J(jno,jname,city)values('J1','三建','北京');insertinto J(jno,jname,city)values('J2','一汽','长春');insertinto J(jno,jname,city)values('J3','弹簧厂','天津');insertinto J(jno,jname,city)values('J4','造船厂','天津');insertinto J(jno,jname,city)values('J5','机车厂','唐山');insertinto J(jno,jname,city)values('J6','无线电厂','常州');insertinto J(jno,jname,city)values('J7','半导体厂','南京');use spjdbgoinsertinto SPJ(sno,pno,jno,qty)values('S1','P1','J1',200);insertinto SPJ(sno,pno,jno,qty)values('S1','P1','J3',100);insertinto SPJ(sno,pno,jno,qty)values('S1','P1','J4',700);insertinto SPJ(sno,pno,jno,qty)values('S1','P2','J2',100);insertinto SPJ(sno,pno,jno,qty)values('S2','P3','J1',400);insertinto SPJ(sno,pno,jno,qty)values('S2','P3','J2',200);insertinto SPJ(sno,pno,jno,qty)values('S2','P3','J4',500);insertinto SPJ(sno,pno,jno,qty)values('S2','P3','J5',400);insertinto SPJ(sno,pno,jno,qty)values('S2','P5','J1',400);insertinto SPJ(sno,pno,jno,qty)values('S2','P5','J2',100);insertinto SPJ(sno,pno,jno,qty)values('S3','P1','J1',200);insertinto SPJ(sno,pno,jno,qty)values('S3','P3','J1',200);insertinto SPJ(sno,pno,jno,qty)values('S4','P5','J1',100);insertinto SPJ(sno,pno,jno,qty)values('S4','P6','J3',300);insertinto SPJ(sno,pno,jno,qty)values('S4','P6','J4',200);insertinto SPJ(sno,pno,jno,qty)values('S5','P2','J4',100);insertinto SPJ(sno,pno,jno,qty)values('S5','P3','J1',200);insertinto SPJ(sno,pno,jno,qty)values('S5','P6','J2',200);insertinto SPJ(sno,pno,jno,qty)values('S5','P6','J4',500);(1)实体完整性规则use spjdbgoinsertinto S(SNO,SNAME,STATUS,CITY)VALUES('S1','WWW',20,'WWW');//S1重复(2)参照完整性规则use spjdbgoinsertinto SPJ(sno,pno,jno,qty)values('S7','P6','J4',500);//S表里没有S7这条记录(3)用户定义完整性规则use spjdbgoinsertinto P(PNO,PNAME,COLOR,WEIGHT)VALUES('P7','齿轮','红',-30);//weight小于03.设计几个删除操作(3~5个),体会执行删除操作时检查参照完整性规则的效果。

相关文档
最新文档