实验三 数据库设计
实验三 数据库设计

实验三数据库设计一、实验目的:(1)巩固和加深对数据库原理基本知识的理解,提高综合运用课程知识的能力。
(2)掌握数据库应用系统设计的基本方法和步骤,培养进行数据库设计的能力。
二、实验步骤数据库设计:(1)需求分析(2)概念结构设计:通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型E-R模型:定义实体,属性,确定联系类型:如:(3)逻辑结构设计:将概念结构转换为某个DBMS所支持的数据模型,是数据库基本模型,主要用来定义数据库结构的一些数据结构如表,约束。
1.关系模型:将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。
一个实体型转换为一个关系模式。
▪关系的属性:实体型的属性▪关系的码:实体型的码实体型间的联系有以下不同情况:1.一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。
▪转换为一个独立的关系模式•关系的属性:与该联系相连的各实体的码以及联系本身的属性•关系的候选码:每个实体的码均是该关系的候选码▪与某一端实体对应的关系模式合并•合并后关系的属性:加入对应关系的码和联系本身的属性•合并后关系的码:不变2.一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。
▪转换为一个独立的关系模式•关系的属性:与该联系相连的各实体的码以及联系本身的属性•关系的码:n端实体的码▪与n端对应的关系模式合并•合并后关系的属性:在n端关系中加入1端关系的码和联系本身的属性•合并后关系的码:不变3. 一个m:n联系转换为一个关系模式。
•关系的属性:与该联系相连的各实体的码以及联系本身的属性•关系的码:两端实体的码2.设计用户子模式:定义用户外模式时应该注重考虑用户的习惯与方便包括三个方面:(1) 使用更符合用户习惯的别名(2) 针对不同级别的用户定义不同的View ,以满足系统对安全性的要求。
(3) 简化用户对系统的使用(4)物理结构设计:为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法),如索引、聚簇的定义(5)数据库实施:运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的结果,建立数据库(6)数据库运行与维护三、实验内容:图书借阅管理数据库的设计1.本数据库简化的需求情况如下:(1)所有借阅人都可以随时查询可借阅图书的情况,如图书编号,图书名称,出版日期,图书出版社,图书存放位置,图书数量等,以便于借阅。
数据库实验三

数据库实验三《数据查询与操作》实验一、实验目的与要求1、掌握多表查询:嵌套查询的使用。
2、掌握INSERT、UPDATE和DELETE语句的一般格式与使用方法。
3、掌握视图的创建和删除、视图的NSERT、UPDATE和DELETE 的应用二、实验平台1、操作系统:Windows XP或Windows 20032、数据库管理系统:SQL Server 2005三、实验内容实验前,先附加“教务管理系统”,在“教务管理系统”的数据库中进行一下查询:嵌套查询1、在“教务管理系统”数据库中,根据相关表的内容,查询平均成绩大于70的课程信息select课程名称from课程信息where课程编号in(select课程编号from选课表group by课程编号having avg(成绩)>70)2、从“教务管理系统”数据库中,查询人数超过45人所在班级中的学生的学号、姓名和班级名称。
select学号,姓名,b.班级编号,班级名称from学生信息x,班级信息bwhere x.班级编号= b.班级编号and x.班级编号in(select班级编号from班级信息where人数>45)3、在“教务管理系统”数据库中,查询学生姓名为“朱文娟”所在班级的学生信息,要求返回学生的学号、姓名、性别、班级编号、班级名称和年级信息select学号,姓名,性别,x.年级,b.班级编号,班级名称from学生信息x,班级信息bwhere x.班级编号= b.班级编号and x.班级编号=(select班级编号from学生信息where姓名='朱文娟')4、在“教务管理系统”数据库中,查询出所有非计算机系的学生信息,并显示出这些学生的考试成绩,再按成绩进行降序排列显示,要求返回学生的学号、姓名、班级编号、课程编号和成绩信息。
select学生信息.学号,姓名,班级编号,课程编号,成绩from学生信息left join选课表on学生信息.学号=选课表.学号where学生信息.班级编号<>(select班级编号from班级信息where班级名称 LIKE '计算机%')数据更新(一)添加教务信息1、在2003年级中创建一个新班级,编号为20031340000200、班级名称为“环境与科学”、班级人数为60、班主任为“张浩”。
数据库原理实验报告(3)实验三数据表的创建与管理实验

数据库原理实验报告(3)实验三数据表的创建与管理实验南京晓庄学院《数据库原理与应⽤》课程实验报告实验三数据表的创建与管理实验所在院(系):数学与信息技术学院班级:学号::1.实验⽬的(1)理解SQL Server 2005常⽤数据类型和表结构的设计⽅法。
理解主键、外键含义,掌握建⽴各表相关属性间参照关系的⽅法。
(2)熟练掌握使⽤SQL Server Management Studio图形⼯具创建表,删除表,修改表结构,插⼊及更新数据的⽅法。
(3)熟练掌握使⽤Transact-SQL语句创建表,删除表,修改表结构,插⼊及更新数据的⽅法。
2.实验要求基本实验:(1)在实验⼆所创建的“TM”数据库中合理设计以下各表逻辑结构:学⽣信息(学号,,性别,籍贯,出⽣⽇期,民族,学院/系别号,班级号)课程信息(课程号,课程名称,课程所属模块,课程类别,学分,学时)学习信息(学号,课程号,考试成绩,平时成绩)院系信息(院系号,院系名称)要求确定各个字段的名称、类型、是否有默认值,是否主键等信息。
(2)依据你所设计的表结构,使⽤SQL Server Management Studio图形⼯具在“TM”数据库中创建学⽣信息表和课程信息表,并试验在图形界⾯中修改表结构,删除数据表,输⼊并更新数据的⽅法。
(3)依据你所设计表结构,使⽤Transact-SQL语句创建学习信息表和院系信息表,并试验使⽤T-SQL语句修改表结构,删除数据表,插⼊和更新数据的⽅法。
(4)找出已创建各表之间相关属性的参照关系,并在相关表中增加引⽤完整性约束。
(5)按要求完成实验报告。
扩展实验:(1)在“TM”数据库中补充设计以下各表结构:教师信息(教师号,,性别,出⽣⽇期,学历,学位,⼊职时间,职称,院系号)授课信息(教师号,课程号,学期)班级信息(班级号,班级名称,专业号)专业信息(专业号,专业名称,学制,学位)图书信息(图书号,书名,作者,,出版⽇期,册数,价格,分类)借书偏息(学号,图书号,借出时间,归还时间)奖励信息(学号,奖励类型,奖励⾦额)(2)设计并实现各表之间相关属性的参照关系。
实验三 数据库中的数据查询及视图操作实验报告

实验三数据库中的数据查询及视图操作实验报告实验三数据库中的数据查询及视图操作实验报告一、实验目的本实验的主要目的是熟悉数据库中的数据查询和视图操作。
通过本实验,我们可以掌握使用SQL语句进行数据查询和创建视图的方法,进一步提高对数据库的操作能力。
二、实验环境本实验使用MySQL数据库管理系统,并在Windows操作系统下进行实验。
三、实验内容本实验主要包括以下内容:1. 数据查询:使用SELECT语句查询数据库中的数据,并进行排序、过滤和聚合操作。
2. 视图操作:创建和删除视图,以及对视图进行查询和更新操作。
四、实验步骤与结果1. 数据查询首先,我们需要连接到数据库,并选择要查询的表。
假设我们选择的表名为"students",包含以下字段:学号、姓名、性别、年龄、班级。
a. 查询所有学生的信息:```sqlSELECT * FROM students;```执行以上SQL语句后,我们可以得到所有学生的信息,包括学号、姓名、性别、年龄和班级。
b. 查询男生的信息:```sqlSELECT * FROM students WHERE 性别 = '男';```执行以上SQL语句后,我们可以得到所有性别为男的学生的信息。
c. 查询年龄小于20岁的学生的姓名和班级:```sqlSELECT 姓名, 班级 FROM students WHERE 年龄 < 20;```执行以上SQL语句后,我们可以得到年龄小于20岁的学生的姓名和班级。
d. 查询学生按照年龄降序排列的结果:```sqlSELECT * FROM students ORDER BY 年龄 DESC;```执行以上SQL语句后,我们可以得到按照年龄降序排列的学生信息。
e. 查询学生按照班级分组,并统计每个班级的人数:```sqlSELECT 班级, COUNT(*) AS 人数 FROM students GROUP BY 班级;```执行以上SQL语句后,我们可以得到每个班级的人数统计结果。
数据库实验3报告

实验三数据更新、视图、权限管理实验3.1 数据更新1 实验内容(1) 使用INSERT INTO语句插入数据,包括插入一个元组或将子查询的结果插入到数据库中两种方式。
(2) 使用SELECT INTO语句,产生一个新表并插入数据。
(3) 使用UPDATE语句可以修改制定表中满足WHERE子句条件的元组,有三种修改的方式:修改某个元组的值;修改多个元组的值;带子查询的修改语句。
(4) 使用DELETE语句删除数据:删除某一个元组的值;删除多个元组的值;带子查询的删除语句。
2 实验步骤在数据库School上按下列要求进行数据更新可在SQL代码前加下面两句SQL语句,用于确保当前使用的是School数据库Use Schoolgo(1)使用SQL语句向STUDENTS表中插入元组(编号:12345678 名字:LiMing EMAIL:LM@年级:2002)。
Insert into STUDENTS values('12345678','LiMing','LM@','2002')(2)对每个课程,求学生的选课人数和学生的最高成绩,并把结果存入数据库。
使用SELECTINTO和INSERT INTO两种方法实现。
Insert into:create table Courses_maxScore(cid char(20),Count_courses int,maxScore int)insert into Courses_maxScore (cid,Count_courses,maxScore)select cid,count(*)as Count_courses,max(score)as maxScore from CHOICES group by cidselect*from Courses_maxScoreSelect into:select cid,Count_courses,maxScore into cnCourses_maxScore from Courses_maxScoreselect*from cnCourses_maxScore(3)在STUDENTS表中使用SQL语句将姓名为LiMing.的学生的EMAIL改为LM@。
SQL数据库实验报告 实验三

实验3 SQL Server数据表的管理1.实验目的(1)掌握使用SQL Server管理平台和Transact-SQL语句CREA TE TABLE和ALTER TABLE创建和修改表的方法。
(2)掌握在SQL Server管理平台中对表进行插入、修改和删除数据操作的方法。
(3)掌握使用Transact-SQL语句对表进行插入、修改和删除数据操作的方法。
(4)了解SQL Server的常用数据类型。
2.实验内容及步骤(1)启动SQL Server管理平台,在对象资源管理器中展开studentsdb数据库文件夹。
(2)在studentsdb数据库中包含有数据表student_info、curriculum、grade,这些表的数据结构如图1-2至图1-4所示。
图1-2 学生基本情况表student_info图1-3 课程信息表curriculum图1-4 学生成绩表grade(3)在SQL Server管理平台中创建student_info、curriculum表。
(4)在SQL Server 管理平台中,将student_info 表的学号列设置为主键,非空。
(5)使用Transact-SQL语句CREA TE TABLE在studentsdb数据库中创建grade表。
(6)student_info、curriculum、grade表中的数据如图1-5至图1-7所示。
图1-5 student_info的数据图1-6 curriculum的数据图1-7 grade的数据(7)在SQL Server管理平台中为student_info、curriculum、grade表添加数据。
(8)使用Transact-SQL语句INSERT INTO...V ALUES向studentsdb数据库的grade表插入数据:学号为0004,课程编号为0001,分数为80。
(9)使用Transact-SQL语句ALTER TABLE修改curriculum表的“课程编号”列,使之为非空。
实验三对数据库表插入数据

实验三对数据库表插入数据一、实验目的及要求1.学会在企业管理器中对表进行插入、修改和删除数据操作。
2.学会使用T-SQL语句对表进行插入、修改和删除数据操作。
3.了解T-SQL语句对表数据库操作的灵活控制功能。
二、实验内容:1.SQL数据定义语句:1-1:(修改数据库表) 在student表中增加SSEX(C,2) 字段。
1-2:(建立索引) 为score表按学号升序和课程号降序分别建立索引,索引名分别为SC_NDXSNO和SC_NDXCNO。
为Score表按分数降序建立索引,索引名为GRADE_NDX。
1-3:(删除索引) 删除索引SC_NDX_SNO。
2.SQL数据操纵语句:2-1:(插入数据) 按实验二各表中的数据(见实验数据)分别插入到教学数据库的四个数据库表中。
2-2:(修改数据) 将S1表中所有学生的年龄加2。
2-3:(修改数据) 将course表中‘程序设计’课时数修改成与‘数据结构’的课时数相同。
2-4:(插入数据) 向score表中插入数据(‘05001’, ‘001’, 95),根据返回信息解释其原因。
2-5:(删除数据) 删除Score表中学号为‘04001’的成绩信息,根据返回信息解释其原因。
三、实验编程结果或过程(本次实验未采用截图的方式显示操作过程,而是直接将涉及的数据显示在以下蓝色字体中)1.SQL数据定义语句:1-1:(修改数据库表) 在student表中增加SSEX(C,2) 字段。
ALTER TABLE student ADD ssex char(2);1-2:(建立索引) 为score表按学号升序和课程号降序分别建立索引,索引名分别为SC_NDXSNO和SC_NDXCNO。
为Score表按分数降序建立索引,索引名为GRADE_NDX。
CREATE UNIQUE INDEX SC_NDXSNO on score (sno asc);CREATE UNIQUE INDEX SC_NDXCNO on score (cno desc);CREATE UNIQUE INDEX RADE_NDX on score (score desc);1-3:(删除索引) 删除索引SC_NDXSNO。
数据库原理实验报告(Mysql)

实验项目列表实验一:数据库的定义实验一、实验目的:1、理解MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。
二、实验环境:硬件:PC机软件:Windows操作系统、 MySQL Server 6.0 和Navicat for MySQL 9.0三、实验内容和原理:1、安装MySQL以及相应的GUI工具2、用SQL命令,建立学生-课程数据库基本表:学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept);课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit);选课SC(学号Sno,课程号Cno,成绩Grade);要求:1) 用SQL命令建库、建表和建立表间联系。
2) 选择合适的数据类型。
3) 定义必要的索引、列级约束和表级约束.四、实验步骤:1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI界面;2、利用图形界面建立基础表:student表的信息:Sage smallint 6Sdept varchar 20course表的信息:字段名类型长度约束条件Cno varchar 4 非空、主键Cname varchar 40Cpno varchar 4 与course表中Cno关联Ccredit smallint 6sc表的信息:字段名类型长度约束条件Sno varchar 9 非空、主键、与student表中Sno外键关联,级联删除Cno varchar 4 非空、主键、与course表中Cno外键关联Grade smallint 6(1)、连接数据库,在localhost中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三数据库设计
一、实验目的:
(1)巩固和加深对数据库原理基本知识的理解,提高综合运用课程知识的能力。
(2)掌握数据库应用系统设计的基本方法和步骤,培养进行数据库设计的能力。
二、实验步骤
数据库设计:
(1)需求分析
(2)概念结构设计:
通过对用户需求进行综合、归纳与抽象,形成一个独立于具体DBMS的概念模型E-R模型:
定义实体,属性,确定联系类型:如:
(3)逻辑结构设计:
将概念结构转换为某个DBMS所支持的数据模型,是数据库基本模型,主要用来
定义数据库结构的一些数据结构如表,约束。
1.关系模型:
将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转换为关系模式。
一个实体型转换为一个关系模式。
▪关系的属性:实体型的属性
▪关系的码:实体型的码
实体型间的联系有以下不同情况:
1.一个1:1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模
式合并。
▪转换为一个独立的关系模式
•关系的属性:与该联系相连的各实体的码以及联系本身的属性
•关系的候选码:每个实体的码均是该关系的候选码
▪与某一端实体对应的关系模式合并
•合并后关系的属性:加入对应关系的码和联系本身的属性
•合并后关系的码:不变
2.一个1:n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合
并。
▪转换为一个独立的关系模式
•关系的属性:与该联系相连的各实体的码以及联系本身的属性
•关系的码:n端实体的码
▪与n端对应的关系模式合并
•合并后关系的属性:在n端关系中加入1端关系的码和联系本身的
属性
•合并后关系的码:不变
3. 一个m:n联系转换为一个关系模式。
•关系的属性:与该联系相连的各实体的码以及联系本身的属性
•关系的码:两端实体的码
2.设计用户子模式:
定义用户外模式时应该注重考虑用户的习惯与方便
包括三个方面:
(1) 使用更符合用户习惯的别名
(2) 针对不同级别的用户定义不同的View ,以满足系统对安全性的要求。
(3) 简化用户对系统的使用
(4)物理结构设计:
为逻辑数据模型选取一个最适合应用环境的物理结构(包括存储结构和存取方法),如索引、聚簇的定义
(5)数据库实施:
运用DBMS提供的数据库语言(如SQL)及宿主语言,根据逻辑设计和物理设计的
结果,建立数据库
(6)数据库运行与维护
三、实验内容:图书借阅管理数据库的设计
1.本数据库简化的需求情况如下:
(1)所有借阅人都可以随时查询可借阅图书的情况,如图书编号,图书名称,出版日期,图书出版社,图书存放位置,图书数量等,以便于借阅。
(2)借阅人查询图书情况后可以借阅所需图书,一次可以借阅多本图书,每本图书一次只借阅一本,若有图书超期,需缴纳罚金才能进行借阅。
(3)图书室需要办理借阅证方可借阅图书,需要记录如下信息:借阅人姓名,所在单位,借阅图书的上限数(不同级别的借阅人,借阅图书上限数不同),图书室为每一位借阅人提供唯一的图书借阅证编号。
(4)每位借阅人一次可以借阅多本图书,但不能超过其借阅上限数,借阅图书期限为两个月。
超过期限需要缴纳罚金后(每天二分×超期天数)方可借阅。
(5)借阅图书时需登记相应借书日期及还书日期。
(6)图书室同时提供出版社(出版社名称,邮编,地址,电话,E-mail)及作者(作者姓名,性别,出生日期,籍贯,备注)相关信息便于借阅人查询。
一本书籍只能在一个出版社出版,由于图书可以再次出版,所以每次出版的图书都有不同的出版日期。
(7)借阅人可以查看所有信息,却不能更新所有信息。
(8)图书借阅管理员可以查看及更新借阅信息,不能进行其他访问操作。
(9)图书室管理员可以管理图书,出版社,借阅人,作者信息,但不能查询和管理借阅信息。
(10)图书管理员需要经常性的进行图书借阅情况的分析,根据每本图书的借阅数量排名,找出受欢迎的图书,便于采购。
2.实验要求:
(1)根据上述需求,进行概念结构设计,绘制出系统E-R模型。
(2)根据概念结构设计的结果,进行逻辑模型的设计,设计关系模式及子模式。
(3)根据逻辑模型设计的结果,定义物理模式,给出主外键,索引等的设计方案。
(4)在设计好的方案指导下完成数据库的建立过程,进行必要的关系模式,完整性,安全性的设计及实现,对于不同的用户需要建立不同的安全性及外模式,对于不同的数据要求,需要建立不同的完整性约束及触发器。
(5)实验结束后,将设计及实现方案进行汇总,撰写实验报告于第13周周一上课前提交。