《数据库系统概论》实验指导书.docx

上传人:牧羊曲112 文档编号:4927842 上传时间:2023-05-24 格式:DOCX 页数:33 大小:972.45KB
返回 下载 相关 举报
《数据库系统概论》实验指导书.docx_第1页
第1页 / 共33页
《数据库系统概论》实验指导书.docx_第2页
第2页 / 共33页
《数据库系统概论》实验指导书.docx_第3页
第3页 / 共33页
《数据库系统概论》实验指导书.docx_第4页
第4页 / 共33页
《数据库系统概论》实验指导书.docx_第5页
第5页 / 共33页
亲,该文档总共33页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《《数据库系统概论》实验指导书.docx》由会员分享,可在线阅读,更多相关《《数据库系统概论》实验指导书.docx(33页珍藏版)》请在三一办公上搜索。

1、数据库系统概论实验指导书实验一 数据库服务器的连接及数据库的建立.1实验二简单SQL查询及数据库多表查询12实验三 视图、索引、存储过程和触发器的使用.18实验四E-R模型与关系模型的转换27实验一 数据库服务器的连接及数据库的建立1.1实验名称:数据库服务器的连接及数据库的建立1.2实验类型:验证型1.3实验学时:3h1.4实验目的:了解连接数据库服务器的身份验证模式,熟悉样例数据库。掌握DBMS中利 用界面进行建库建表操作。1.5实验准备:1.5.1数据模型数据模型由三个要素组成:数据结构、数据操作和完整性约束。1、数据结构数据结构用于描述系统的静态特性,是所研究的对象类型的集合。数据模型

2、 按其数据结构分为层次模型、网状模型和关系模型。2、数据操作数据操作用于描述系统的动态特性,是指对数据库中各种对象的实例允许执 行的操作的集合,包括操作及有关的操作集合。3、数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据及其联 系所具有的制约和存储规则,用以限定符合数据库状态以及状态的变化,以保证 数据的正确、有效和相容。1.5.2数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级 组成。1、外模式。外模式也称子模式或用户模式,它是数据库用户(包括应用程 序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用

3、户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外 模式。2、模式。模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描 述,是所有用户的公用数据视图。一个数据库只有一个模式。3、内模式。内模式也称存储模式,它是数据物理和存储结构的描述,是数 据在数据库内部的表示方式。一个数据库只有一个内模式。1.5.3 DBMS的功能1、数据定义数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模 式与模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件(例 如,为保证数据库中数据具有正确语义而定义的完整性规则,为保证数据库安全 而定义的用户口令和存取权限等)

4、。2、数据操纵数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。3、数据库运行管理对数据库的运行进行管理是DBMS运行时的核心部分,包括对数据库进行并 发控制、安全性检查、完整性约束条件的检查和执行、数据库的内部维护(如索 引、数据字典的自动维护)等。所有访问数据库的操作都要在这些控制程序的统 一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并 发使用。4、数据组织、存储和管理数据库中需要存放多种数据,如数据字典、用户数据、存取路径等,DBMS 负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物 理地组织这些数据,如何实现数据之间的联系,以便提

5、高存储空间利用率以及提 高随机查找、顺序查找、增、删、改等操作的时间效率。5、数据库的建立和维护建立数据库包括数据库初始数据的输入与数据转换等。维护数据库包括数据 库的转储与恢复、数据库的重组织与重构造、性能的监视与分析等。6、数据通信接口DBMS需要提供与其他软件系统进行通信的功能。例如,提供与其他DBMS或 文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格 式,或者接收其他DBMS或文件系统的数据。1.6实验内容1.6.1熟悉网络环境和数据库环境数据库服务器:操作系统:Windows 2000 Advanced ServerIP 地址:192.168.0.99数据库

6、管理系统:Microsoft SQL Server 2000服务器名称:servernet客户机:操作系统:Windows 2000 ProfessionalIP 地址:192.168.0.XMicrosoft SQL Server 2000 客户端启动 Microsoft SQL Server 2000 查询分析器:1、开始- 程序-Microsoft SQL Server 2000-查询分析器出现如下画面2、连接到 Microsoft SQL Server2000SQL Server: servernet(或 192.168.0.99)选择SQL Server身份验证;登录名:sa 密码:

7、无2、创建数据库sql语句:.r执行结果:3、身份验证模式:在安装Sql Server 2000过程中,出现身份验证对诂框, 提示选择身份验证模式。Windows身份验证模式或混合模式(Windows身份验证 和SqlServer身份验证)并提示添加sa用户登录密码(一般选中空密码)。安 装完SQL后,打开企业管理器,逐级展开节点到安全性|登录,在右边视图中 可以看到登录的用户名称,右击sa用户,打开属性,弹出属性对话框,可以看到当前用户的身份验证模式。4、体会DBMS的三层模式结构:(以理解为主)从数据库管理系统角度看, 数据库描述由三级抽象模式组成:概念模式(逻辑模式)、物理模式(内模式)

8、 和外模式;从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从 式结构、分布式结构和客户/服务器结构。概念模式体会:打开任意所建立数据 库,选择一个表,右击设计表,打开设计表框。这里描述了存储的数据 的属性和实体及实体关系。物理模式:描述存储细节。外模式:视图和来自概念 模式的关系组成。5、安装Sql Server 2000后,安装程序将在所创建的数据库实例中创建数据 库和日志文件。Master、Model、Msdb和Tempdb都是系统数据库。其中Master 主要用于通过跟踪诸如用户帐户、可配置环境变量和系统错误信息,控制用户数 据库和SQL Server的整体运行情况;Mode

9、l主要用于为新的用户数据库提供模 板或原型;Msdb主要用于为调度信息和作业历史提供存储区域;Tempdb主要用 于为临时表或其他临时工作区提供存储区域。Pubs和Northwind示例数据库作 为学习工具提供。我们提供基于样例数据库Northwind的一些操作。打开企业 管理器|数据库Northwind。Northwind示例数据库包含了一个名为 Northwind Traders的虚构公司的销售数据,打开表,可以看到该数据库包括 了 Categories、Customers 等 13 张用户表和 Alphabetical list product、 Category Scale for 1

10、997等16张视图。可以任意打开用户表查看信息。1.6.2数据库、表的建立1.6.2.1数据字典(一)表名(具体建表时,首先创建自己的数据库(数据库已经建立按班级分别kt773-1和kt773-2),表名用班级号学号姓名表名的方式命名,如kt1_01_张三.department,学生学号一律使用2位数)表名含义Department院系Class班级Student学生Course课程Grade成绩(二)表结构1、 Department表 1-1 Department 表结构字段名数据类型字段含义约束Dept_IDDecimal院系编号Primary KeyDepartmentvarChar(50

11、)院系名称Not NullAbbreviationvarChar(10)院系简称PhonevarChar(50)联系电话DirectorvarChar(50)院系主任No_ClassDecimal班级数Not Null Default 02、Class表1-2 Class表结构字段名数据类型字段含义约束Class_IDChar(7)班级编号Primary Key字段名数据类型字段含义约束Dept_IDDecimal院系编号Foreign KeyClassvarChar(30)班级名称Not NullAbbreviationvarChar(20)班级简称MonitorvarChar(24)班长D

12、egreevarChar(4)学历层次Not Null大专、本科、硕士、博士Enroll_DateDecimal入学年度Not NullNo_StudentDecimal学生数Not Null Default 03、Student表1-3 Student表结构字段名数据类型字段含义约束Student_IDvarChar(9)学号Primary KeyClass_IDChar(7)班级编号Foreign KeyNamevarChar(24)姓名Not NullGendervarChar(2)性别男,女BirthdayDatetime出生日期AddressvarChar(50)家庭地址Zip_Co

13、deDecimal家庭邮编HouseholderVarchar(50家长姓名4、 Course表1-4 Course表结构字段名数据类型字段含义约束Course_IDvarChar(8)课程编号Primary KeyCoursevarChar(50)课程Not NullCreditDecimal学分PeriodDecimal学期Practice_periodDecimal实习5、 Grade表1-5 Grade表结构字段名数据类型字段含义约束Student_IDvarChar(9)学号Foreign KeyPrimary KeyCourse_IDvarChar(8)课程编号Foreign Ke

14、yGradeDecimal成绩Not Null1. 6. 2. 2创建数据库1.打开企业管理器:开始-程序-Microsoft SQL Server 2000-企业管理器出现如下画面:Microsoft Excel打开Office文档Microsoft Visia TrialMicrosoft Word活华TH-OCR 2000千禧专业版设定程序访问和默认值文档仍设置搜索(Q帮助(由运行(),I i Microsoft 5QL Server关机,History SweeperInternet ExplorerMicrosoft AccessMicrosoft FrontpageMicrosof

15、t PowerPointOutlook ExpressRealPlayerWindows Media Player附件Adobe Reader 6.0IE汽车工 美院专IE汽车工 美院专快捷方式BitComet唠 Microsoft SQL Server 版本切换 Windows Update新建Office文档5053-日-4 高国庆毕业查询分析嚣导入和导出数据服备管理嚣服务器网络实用工具客户浦网络实用工具 联机丛书备企业管理器?事件探查器I位置:C:WI理丽;在115中配图 1-1 启动 Microsoft SQL Server 2000 企业管理器图 1-2 打开 Microsoft S

16、QL Server 2000 企业管理器2.添加新表:(1)方法一新建表l=l sysindexes sysindexke JsysmemberII所有任务(厘查看俄从这里创建窗口 (如刷新旧导出列表帮助ssirtict;jm图1-3-1添加新表(2)方法二表gr a如插入样例insert into gradevalues 044631201,/ 26110033 85请同学们自行练习使用单条SQL语句给自己的各个表进行插入图2-2各表插入语句样例2.6.2 操作二:UPDATE (更新)1、在 student 表中,GENDER (性别),BIRTHDAY (出生日期),ADDRESS (家

17、庭地 址),ZIP_CODE (家庭邮编),HOUSEHOLDER (家长姓名)均不正确或为空值, 请将自己以上的准确信息更新到自己的数据库中,同时更新到同班同学的其 它数据库中。注意更新前要看相关表中该条数据是否正确添加。updat studentset 写晶讪r=男BIRTHDAY , 820204?, ADDRESS 山东省flP_CODE=, 899999, HOUSEHOLDER :王from student where student_id 994631227,1STUDENT.IDCLASS_IDNAMEGENDERBIRTHDAYADDRESSZIP_CODEHO.199463

18、12279946312 堇征男1983 山东省899999 王图2-3用update更新student表中自己的信息2、查询你的数据库中同班其他同学的信息是否已更新。3、执行以下更新在department表中,no_class (班级数)均不正确或为空值,请根据class 表中每个学院实有班级数目更新department表中的no_class,例如:Iupdate departmentset no_class=32 from department where dept_id=l1|select * from department where dept_id 114、执行以下更新在class表中

19、,no_student (学生数)均不正确或为空值,请根据student表中 每个班级实有学生人数更新class表中的no_student。注意:请将class表中 的abbreviation属性各记录内容补充完整。update classset no_student 班级人数select abtirgiaticm班级班级人数二口口皿七(*)from student as s , class as cwhere c class_id s class_id group by abbreviation as dwhere class abbreviation d 班级2.6.3操作三:DELETE

20、 (删除)请从student表中删除一个student_id=994631225的记录(注意:确保student表和grade表中有与学生994631225有关的数据):为什么会出现以下的结果?delete student where student id=? 994631225,服务器:消息级别16,状态1,行1DELETE 语句与 COLUMN REFERENCE 约束FK_GRADE_STUDENT冲突。 该冲突发生干数据库STUDENT,表GRADE, column STUDENT. ID 倍句已终止。一图2-4删除student表中的一条记录假若删除的是你自己的学号可以吗?为什么?2

21、.6.4操作四:SELECT (查询)1.掌握SELECT语句的基本用法select * frem select * f select * frem select * from select * fromilspartHierit class student course grade图2-5 SELECT语句的基本用法2、查询你的各个表中所有的记录数目selectselectselectselectselectcount (*) count (*) count (*) count (*) count (*)from department from class from student from

22、 course from grade图2-6 SELECT语句中count ()函数的用法3、查询平均成绩(用avg()函数)I SELECT avg grade) ?平均成绩,FROM grade WHERE student_id=, 994631225,图2-7 SELECT语句中avg ()函数的用法4、查询某班级所有同学的平均成绩,查询输出以别名:学号,姓名,平均成绩;并按平均成绩由高到低排序(用到order by)SELECT student student_id student. namej avg 1 grade 平均或绩FROM stTident gradewhere stud

23、ent student_id grade student_id and student class_id=, 9946312, group by student student_id student, nameorder by avg grade desc图2-8 SELECT语句中函数以及复杂子句的用法5、查询没有成绩记录的学生,查询输出:学号,姓名、的在班级简称。| SELECT student student_id student, namej class abbreviationFROM student class where student class_id class class_

24、idand student class_id=? 9946312,and student_id not in (select student_id from grade图2-9 SELECT语句中not in的用法6、查询某学生的各课成绩(注意确保该学生有课程成绩),结果格式如下:I SELECT grade course_id, course course grade FROM course grade where course course_id=grade course_id and grade student_id=, 994631227?图2-10用SELECT语句查询自己的成绩7、

25、查询某班两门及两门以上课程不及格的学生,查询输出:学号,姓名、不及 格课程数量(注意保证有满足条件的记录)。I SELECT studeYit student_id student namej b cn FROM student select student_id count(*)as cn from grade where grade60 group by student_id having count (*); 1) b where student student_id b student_id and student class_id : 9946312,图2-11用SELECT语句查询

26、多门课程不及格的学生8、查询某班男生人数。select count(*) from student where student class_id:, 0446312, and student gender 男图2-12用SELECT语句查询男生人数9、查询某班女生人数。select count(*) from student where student. class_id=, 0446312, and student gender=,图2-13用SELECT语句查询女生人数10、查询班级Class_ID like 04%的班级。select * from class where class_i

27、d like 04%,图2-14用SELECT语句查询班级编号11、请查询输出:班级编号,班级名称,男生,女生。SELECT C Class_id as 班级编号 C ABBREVIATION as 班级名称 SUM (CASE S GENDER WHEN 勇THEN 1 ELSE 0 END) AS 勇 SUMtCAi S GENDER WHEN,女,THEN 1 ELSE 0 END) AS 女 FROM Student AS s Class AS cWERE S Class_ID C Class_IDGROUP BY C Class_ID C ABBREVIATION图2-15 SELE

28、CT语句中CASE语句的用法112、请查询输出:班级编号,班级名称,男生,女生,合计。SELECT sc me 男 + me 女)AS 合计FROM (SELECT C Class_id as 班级编号 C ABBREVIATION as 班级名称SUM (CASE S GENDER WHEN 男THEN 1 ELSE 0 END) AS 男,SUM (CASE S GENDER WHEN 女THEN 1 ELSE 0 END) AS 女FROM Student AS s Clas? AS c WHERE S Class_ID C Class,ID GROUP BY C Class_ID C

29、ABBREVIATION ) AS SC图2-16 SELECT语句中CASE语句的用法213、执行以下查询,解释该查询的含义I select department nc_class c na_class fram department select dept_id count (*) as no_cLa3s from class group by dept_id c wh已r已 department dept_id c dept_id and d已partnient d已pt_id 11图2-17解释SELECT语句2.7思考题1. 如何使用UNION子句,它必须符合哪两条基本准则?2. 怎

30、样把STUDENT表中前10个数据ADDRESS列的数据更改为新疆。实验三 视图、索引、存储过程和触发器的使用3.1实验名称:视图、索引、存储过程和触发器的使用3.2实验类型:验证型3.3实验学时:3h3.4实验目的:1. 掌握视图的概念和使用方法;2. 掌握索引的概念和使用方法;2. 掌握存储过程的概念和使用方法;3. 掌握触发器的概念和使用方法;3.5实验准备:1. 了解视图的概念和作用;2. 掌握视图相关的命令;3. 了解索引的作用与分类;4. 掌握索引的创建方法;5. 理解数据完整性的概念及分类;6. 了解各种数据完整性的实现方法;7. 了解存储过程的使用方法;8. 掌握存储过程的调用

31、方法;9. 了解触发器的使用方法;3.6实验内容:3.6.1视图1. 创建视图(1)在STUDENT表中,为信息管理及信息系统022班建立视图V1_STU,在查询分析 器中输入下列语句:图3-1创建视图V1_STU思考与练习:1) 在STUDENT表中,为计算机科学与技术021建立视图SV1_STU。2) 在TUITION表中,为第五学年缴全额学费(3500)的学生建立视图SV2_TUI。(2)创建V3_STU_COU视图,包括学号,课程号,课程名,成绩,要保证对该视图的修 改都要符合班为信息管理及信息系统022班这个条件:ni: Sii 202.201.224.123.student.sa

32、1 +CREATE VIEW V3_STU_C0U WITH ENCRYPTION卷加密ZASSELECT STUDENT STUDENT_ID COURSE COURSE_ID COURSE GRADEFROM STUDENT GRADE, COURSEWHERE STUDENT STUDENT_ID GRADE STUDENTD ANDGRADE COURSE_ID COURSE COURSE ID AND CLASS_ID =J 024631/WITH CHECK OPTION春修改时符合为信息管理及信息系统。黑班条件计I令已成功完成n图3-2创建视图V3_STU_COU思考与练习:在STUDENT和CLASS两表中,建立视图SV3_STU_CLA,包含学号,班号,学院号,姓 名,性别。2. 查询视图(1)查找信息管理及信息系统021班女生的学号和出生日期:图3-3创建并查询视图V2_STU思考与练习:1)查找SV3_STU_CLA视图中学号为024631416所在的班号和学院号。2)查找信管992班平均成绩在80分以上的学生的学号和平均分数:图3-4创建并查询视图V4_AVG 思考与练习:统计信管992班平均成绩在80分以上的学生的个数。3. 更新视图可更新视图满足以

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号