数据库实验报告
- 格式:doc
- 大小:545.64 KB
- 文档页数:21
数据库查询实验报告数据库查询实验报告一、引言数据库查询是数据库管理系统中的重要功能之一,通过查询可以从数据库中获取所需的信息。
本实验旨在通过实际操作,掌握数据库查询的基本方法和技巧,并对查询结果进行分析和解读。
二、实验环境本次实验使用的是MySQL数据库管理系统,该系统具有广泛的应用和较好的稳定性。
实验所需的数据表包括学生表(student)、课程表(course)和成绩表(score)。
三、实验步骤1. 创建数据库和数据表首先,在MySQL中创建一个名为"学生成绩管理系统"的数据库,并创建三个数据表:student、course和score。
其中,student表包含学生的学号、姓名、性别等信息;course表包含课程的编号、名称、学分等信息;score表包含学生的学号、课程编号和成绩等信息。
2. 插入测试数据为了进行查询实验,需要向数据表中插入一些测试数据。
通过INSERT语句,向student表中插入若干学生信息;向course表中插入若干课程信息;向score表中插入若干学生成绩信息。
3. 执行查询语句根据实验要求,设计不同的查询语句,包括简单查询、条件查询、多表连接查询等。
通过执行这些查询语句,可以从数据库中获取所需的信息。
4. 分析查询结果根据查询结果,对数据进行分析和解读。
可以通过统计、排序、分组等方式,对数据进行进一步处理和展示。
例如,可以统计每个学生的平均成绩,对学生成绩进行排名等。
四、实验结果与分析通过实验,我们得到了一些有关学生成绩的查询结果。
根据这些结果,我们可以得出以下结论:1. 学生A的平均成绩为80分,居于全班第一名;2. 课程B的平均成绩最高,为85分;3. 学生C在课程A和课程B中都取得了优异的成绩。
五、实验总结本次实验通过数据库查询的实际操作,使我们对数据库查询的基本方法和技巧有了更深入的了解。
同时,通过对查询结果的分析和解读,我们也对数据有了更全面的认识。
数据库实验报告总结
经过本次数据库实验,我对关系型数据库的设计、建立、维护有了更深入的认识和了解。
以下是我在本次实验中学到的几个重要的经验和教训:
1. 设计数据库前要进行详细的需求分析。
在开展数据库设计和建立时,应该先进行需求分析,明确系统需要实现的功能,考虑数据的组织结构和联系,以及数据的完整性和保密性等要素。
只有进行充分的需求分析,才能确保数据库设计的合理性和有效性。
2. 数据库设计要遵循规范。
在进行数据库设计过程中,应该遵循规范,例如表的设计要符合三范式,遵循命名规范等等。
这样能够确保数据的一致性和纯净性,并便于维护和管理。
3. 合理编写SQL语句。
在编写SQL语句时,应该避免使用无
效的语句,以及语句的冗余和过程的繁琐。
只有编写合理、简洁和有效的SQL语句,才能提升数据库的运行效率和稳定性。
4. 数据库的安全维护和管理。
在进行数据库的维护和管理过程中,应该注意保护数据的机密性和完整性,以及及时备份数据,避免数据丢失和系统崩溃。
此外,还应该注意数据的存储空间和性能问题,合理规划数据的存储和读取,以及时做出相应的调整和优化。
总体而言,本次数据库实验让我加深了对数据库的理解和认识,并提高了数据库设计和管理的技能。
在以后的实践工作中,我
将会更加规范和谨慎地进行数据库的建立和维护,以确保系统的高效性和可靠性。
数据库系统原理实验报告一、实验目的1.熟悉数据库系统的基本概念和原理;2.掌握数据库系统的基本操作;3.学会使用数据库系统进行数据管理和查询。
二、实验设备1.计算机;2.数据库管理系统软件。
三、实验过程1.创建数据库通过数据库管理系统软件,我们首先需要创建一个新的数据库。
在数据库管理系统软件的界面上,点击“新建数据库”按钮,输入数据库名称、用户名、密码等信息,并确定创建。
2.设计数据表在创建完数据库后,我们需要设计数据表结构。
点击数据库管理系统软件界面上的“表设计”按钮,弹出数据表设计界面。
根据实验需求,在数据表设计界面上添加字段、设置字段类型、设置主键等,最后确定设计。
3.插入数据数据表设计好后,我们需要将数据插入到数据表中。
通过数据库管理系统软件,点击“插入数据”按钮,弹出插入数据界面。
在插入数据界面上,输入要插入的数据信息,点击确定插入。
4.查询数据将数据插入到数据表中后,我们需要查询特定的数据。
通过数据库管理系统软件,点击“查询数据”按钮,弹出查询数据界面。
在查询数据界面上,输入查询条件,点击确定查询。
系统将会返回符合条件的数据。
五、实验结果通过以上实验步骤,我们成功地创建了一个新的数据库,设计了数据表结构,并将数据插入到数据库中。
同时,我们还可以通过数据库管理系统软件查询数据并获取到结果。
这些实验结果表明我们对数据库系统的基本操作具有熟练掌握的能力。
六、实验总结通过本次实验,我们深入了解了数据库系统的基本概念和原理,掌握了数据库系统的基本操作方法,并成功地应用到实际数据管理和查询中。
通过实验,我们意识到数据库系统在现代信息管理中的重要性,并且清楚地了解到数据库系统的优势和应用场景。
通过进一步的学习和实践,我们相信我们可以更加熟练地应用数据库系统,并将其应用到实际工作中。
数据库技术与应用实验报告一、实验目的本次实验的主要目的是深入了解数据库技术的基本原理和应用,通过实际操作掌握数据库的创建、管理、数据操作以及查询优化等方面的技能。
同时,培养解决实际问题的能力,提高对数据库系统的综合运用水平。
二、实验环境本次实验使用的软件环境为 MySQL 数据库管理系统,操作系统为Windows 10。
三、实验内容与步骤(一)数据库创建1、打开 MySQL 客户端,使用以下命令创建数据库:```sqlCREATE DATABASE database_name;```其中,`database_name` 为自定义的数据库名称。
2、使用以下命令选择创建的数据库:```sqlUSE database_name;```(二)表的创建1、根据实验要求,设计表结构,包括字段名、数据类型、约束条件等。
例如,创建一个名为`students` 的表,包含`id`(整数类型,主键)、`name`(字符串类型)、`age`(整数类型)字段,使用以下命令:```sqlCREATE TABLE students (id INT PRIMARY KEY,name VARCHAR(50),age INT);```(三)数据插入1、使用`INSERT INTO` 语句向表中插入数据。
例如,向`students` 表中插入一条记录:```sqlINSERT INTO students (id, name, age) VALUES (1, '张三', 20);```(四)数据查询1、使用`SELECT` 语句进行简单查询,获取表中的数据。
例如,查询`students` 表中所有记录:```sqlSELECT FROM students;```2、使用条件查询,获取符合特定条件的数据。
例如,查询年龄大于 18 岁的学生记录:```sqlSELECT FROM students WHERE age > 18;```(五)数据更新1、使用`UPDATE` 语句更新表中的数据。
数据库实验报告(通用3篇)数据库试验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1,这次实习可以使我们在课本上学到的学问用于实践增加了我对电脑技巧的一些认知。
2,通过这次实习也可以让我体验到上班族的生活为我将来毕业后找工作打下了基础。
3,并且这次实习可以非常好的关心我完成将来的毕业论文。
四、实训感悟:还依旧记得来的第一天对这里很茫然,不知道实习要做些什么。
然后经过老师的急躁讲解,熟悉了自己实习要做些什么,得到了许多心理熟悉,对许多问题都有了一些更深的了解。
同时,我熟识了河北玛世电子商务有限公司,总部位于国家命名的“中国丝网之乡”、“中国丝网产业基地”、中国丝网产销基地“、”中国丝网出口基地“—河北省安平县。
使我们队公司有了更进一步的了解实习,就是在实践中学习。
经过这半个月的实习训练,我了解到自己所学的如何在实践中运用。
当然学的更多的是如何在更新网站内容和添加商品,每天不厌其烦的更新添加,观察自己的胜利更多的是兴奋。
还有发布了一些关于公司产品的博客,比如新浪,网易。
而后又尝试在百度知道上提问与回答,在回答问题的过程中,通过网站搜寻相关内容来回答各种丝网问题,通过百度知道这个平台,我对公司又了更一步的了解。
经过半个月的实训我学到了许多之前没有学过没有接触到的东西,熟悉到自己的不足,需要更加努力,才能尽快的学会在社会上生活,敢于面对社会的压力,使自己可以在社会上成长进展。
数据库试验报告篇2由于平常接触的都是一些私人项目,这些项目大都是一些类库,其他人的沟通相对可以忽视不计,因此也就不考虑规范化的文档。
实际上从学习的经受来看,我们接触的学问体系都是属于比较老或比较传统的,与现在进展快速的IT行业相比许多状况已不再适用,尤其是当开源模式渐渐走近开发者后更是如此。
虽然这次是一个数据库课程设计,由于本人在选择项目的时候是本着对自己有实际应用价值的角度考虑的,所以其中也涉及到一些数据库以外的设计。
实验(一): 熟练掌握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. 掌握数据库概念结构、逻辑结构和物理结构的设计方法。
3. 能够运用E-R图进行数据库概念结构设计。
4. 能够运用SQL语句进行数据库逻辑结构和物理结构设计。
二、实验环境1. 操作系统:Windows 102. 数据库管理系统:MySQL 5.73. 开发工具:MySQL Workbench三、实验内容1. 数据库概念结构设计2. 数据库逻辑结构设计3. 数据库物理结构设计四、实验步骤1. 数据库概念结构设计(1)分析需求,确定实体和属性以“图书管理系统”为例,确定实体和属性如下:实体:图书、读者、借阅信息属性:- 图书:书名、作者、出版社、ISBN、出版日期、分类号、库存数量- 读者:读者编号、姓名、性别、出生日期、联系电话、邮箱、住址- 借阅信息:借阅编号、图书编号、读者编号、借阅日期、归还日期、状态(2)绘制E-R图根据实体和属性,绘制E-R图如下:```图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态) ```2. 数据库逻辑结构设计(1)确定关系模式根据E-R图,确定关系模式如下:- 图书(书名,作者,出版社,ISBN,出版日期,分类号,库存数量)- 读者(读者编号,姓名,性别,出生日期,联系电话,邮箱,住址)- 借阅信息(借阅编号,图书编号,读者编号,借阅日期,归还日期,状态)(2)编写SQL语句创建表```sqlCREATE TABLE 图书 (书名 VARCHAR(100),作者 VARCHAR(50),出版社 VARCHAR(50),ISBN VARCHAR(20),出版日期 DATE,分类号 VARCHAR(10),库存数量 INT);CREATE TABLE 读者 (读者编号 VARCHAR(10),姓名 VARCHAR(50),性别 CHAR(1),出生日期 DATE,联系电话 VARCHAR(20),邮箱 VARCHAR(50),住址 VARCHAR(100));CREATE TABLE 借阅信息 (借阅编号 VARCHAR(10),图书编号 VARCHAR(10),读者编号 VARCHAR(10),借阅日期 DATE,归还日期 DATE,状态 VARCHAR(10));```3. 数据库物理结构设计(1)确定索引根据需求,确定索引如下:- 图书表:ISBN、分类号- 读者表:读者编号- 借阅信息表:借阅编号、图书编号、读者编号(2)编写SQL语句创建索引```sqlCREATE INDEX idx_isbn ON 图书(ISBN);CREATE INDEX idx_分类号 ON 图书(分类号);CREATE INDEX idx_读者编号 ON 读者(读者编号);CREATE INDEX idx_借阅编号 ON 借阅信息(借阅编号);CREATE INDEX idx_图书编号 ON 借阅信息(图书编号);CREATE INDEX idx_读者编号 ON 借阅信息(读者编号);```五、实验结果与分析1. 通过实验,掌握了数据库设计的概念、过程和步骤。
一、实验目的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称为计数器,表示该字段的值是一组递增的证书数据。
学生实验报告学院:用友软件学院课程名称:计算机应用技术专业班级: 08软件4班姓名:学号:学生实验报告学生姓名学号同组人:无实验项目数据完整性验证√必修□选修□演示性实验□验证性实验√操作性实验□综合性实验实验地点H123 实验仪器台号指导教师熊碧舟实验日期及节次2010年11月10日5,6节一、实验综述1、实验目的及要求1)熟悉通过SQL对数据进行完整性控制。
2)使用SQL对数据进行完整性控制(3类完整性、CHECK短语、CONSTRAIN子句、触发器)。
用实验证实,当操作违反了完整性约束条件时,系统是如何处理的。
2、实验仪器、设备或软件实验仪器:计算机1台软件:windows XP ,SQL Server 2000二、实验过程(实验步骤、记录、数据、分析)关系模型的实体完整性在 CREATE TABLE 中用 PRIMARY KEY 定义。
定义主码的方法分为定义为列级约束条件和定义为表级约束条件两种1.1 定义表 Student,属性有 Sno CHAR(7),SNAME CHAR(8), SSEX CHAR(2), SAGE SMALLINT, SDEPT CHAR(20),并将其中的 Sno属性定义为主码1.列级定义表tablecreate table student(sno char(7) primary key,sname char(8) ,ssex char(2),sage smallint,sdept char(20))2.表级定义表tablecreate table student(sno char(7),sname char(8) ,ssex char(2),sage smallint,sdept char(20)primary key(sno))在企业管理器里检查主键是否定义成功1.2定义表Course,属性有CNO CHAR(4),CNAME CHAR(30),Ccredit SMALLINT,将其中的属性Sno,Cno 定义为主码。
1.列级定义表coursecreate table course(cno char(4) primary key,cname char(30),ccredit smallint)2表级定义表coursecreate table course(cno char(4),cname char(30),ccredit smallint,primary key(cno))看定义的主键是否成功2、参照完整性定义表SC,属性有SNO CHAR(7),CNO CHAR(4),GRADE SMALLINT,将其中的属性Sno,Cno 定义为主码。
其中Sno 参照表Student 的主码Sno,Cno 参照表Course 的主码Cno。
在定义SC 表时,要求Sno,Cno 和Grade 属性都不允许取空值。
create table sc(sno char(7) not null ,cno char(4) not null,grade smallint not null,primary key(sno,cno),foreign key(sno) references student(sno),foreign key(cno) references course(cno) )在企业管理器里面进行验证检查其参照性3.2 建立部门表DEPT, 要求部门名称Dname 取值唯一, 部门编号Deptno 属性为主码. create table dept(dname char(40) unique,Deptno char(6) primary key,)在企业管理器进行验证dname是否能去相同的名检查其主键3.3 使用CHECK短语指定列值应该满足的条件。
定义表Student,要求属性Ssex 的值只允许取“男”或“女”;定义表SC,要求属性Grade 的值定义在0-100 之间。
在企业管理器里面验证3.4 使用CHECK短语指定列用户定义的元组上的约束条件。
定义表Student,要求当学生性别为男时,其名字不能以Ms.打头。
create table Student(Sno char(9) primary key,Sname char(8),Ssex char(2),Sage smallint,Sdept char(20),check(Ssex='男' or Sname not like 'Ms.%'))在查询分析器里面分析在定义表时利用CONSTRAINT约束命名子句对完整性约束条件命名。
4.1定义表Student,要求学号在90000-99999 之间,姓名不能取空值,年龄小于30,性别只能是“男”或“女”。
要求全部用约束命名子句实现。
create table Student(Sno numeric(6)constraint C1 check (Sno between 90000 and 99999),Sname char(20)constraint C2 not null,Ssex char(3)constraint C4 check(Ssex in ('男','女')) ,Sage numericconstraint C3 check(Sage<30),constraint StudentKey primary key(Sno))在查询分析器里面检查学号验证:姓名验证:男女验证:年龄验证:4.2 修改表Student 中的完整性限制,去掉对性别的限制,并将年龄的限制由小于30改为小于40.5、触发器5.1 创建一个触发器,当学生的信息删除后,将其选课信息也删除。
创建触发器后,对触发器的工作是否正常进行检测。
create trigger stud_scon studentafter deleteasdelete from scwhere SID IN (select SID from deleted);在企业管理器里面表student所有任务-管理器触发在查询分析器里面输入delete from Studentwhere SID='S0075.2 删除触发器TRI5.3在插入学生选课信息和成绩时,统计C003课程的成绩分布情况(即按照各分数段统计人数),并保存到RANK表中create trigger t_scon scafter insertasif 'c003'=(select cid from inserted)update rank set num=(select count(*) from sc where grade>=90 and cid='c003') where division='优秀'if 'C003'=(select CID from inserted)update rank set Num=(select count (*) from sc where grade>=80 and cid='c003') where division='良好'if 'C003'=(select CID from inserted)update rank set Num=(select count (*) from sc where grade>=90 and cid='c003') where division='一般'if 'C003'=(select CID from inserted)update rank set Num=(select count (*) from sc where grade>=90 and cid='c003') where division='及格'if 'C003'=(select CID from inserted)update rank set Num=(select count (*) from sc where grade>=90 and cid='c003') where division='不及格'然后插入一条语句进行验证insert into SC values ('S008','C003',75)select * from rank5.4统计学生课程的平均成绩create trigger t_ron scafter insertas select CID, A VG(grade) from sc group by CIDinsert into student values ('S008','陈陈','22')5.5 自动统计所有学生的加权平均分数(还没有成绩的课程不算在内),其中每个学生的加权平均分的计算公式如下:∑∑⨯学分学分成绩加权平均分=。
create trigger t_jpon sc after insert,delete,updateas (select sid ,sum(sc.grade*course.price)/sum(course.price) from sc,coursewhere sc.cid=course.cid and sc.grade is not null group by sid)验证如下:Insert into sc values('s002','c003',95)Delete from scWhere sid='s002' and cid='c003'如图所示:三、结论1、实验结果1.在查询分析器里所建立的表创建的完整性约束能成功,在企业管理器里能够进行验证.表的主键外键都能够成功定义,或者表里面的元组值不能为空也能定义成功。
并且在企业管理器都能验证成功。
2.所建立的几个触发器均能成功学生的信息删除后,将其选课信息也删除所建立的触发器trigger stud_sc统计C003课程的成绩分布情况(即按照各分数段统计人数)所建立的触发器Trigger t_sc统计学生课程的平均成绩所建立的触发器trigger t_r自动统计所有学生的加权平均分数所建立的触发器trigger t_jq2、分析讨论在进行完整性约束的实验中,一定在自己创建的数据库中进行操作,在对表进行完整约束的时候,做完一个约束条件的时候,一定要删掉这个表,因为是创建表。