数据库原理实验3指导书
- 格式:doc
- 大小:53.50 KB
- 文档页数:4
《数据库系统原理》实验指导书索剑2007-11实验1:数据库模式设计及建立(2学时)实验目的:1.掌握数据库模式设计及建立的方法,建立数据库及关系2.比较SQL命令方式和可视化环境管理器方式设计的异同点3.熟悉 SQL SERVER 的企业管理器和查询分析器实验类型:验证实验内容:1.在SQL Server环境中建立“学生-课程”数据库2.使用SQL语言及可视化环境建立“学生-课程”数据库中的表3.观察“学生-课程”数据库的E-R图、逻辑模式以及文件存储之间的联系操作步骤:1.描述教材P59中所叙述的“学生-课程”数据库概念模式2.仔细分析“学生-课程”数据库关系逻辑模式(尤其是实体完整性、参照完整性规则)Student(学生表):Sno Sname Ssex Sage Sdept95001 李勇男20 CS95002 刘晨女19 IS95003 王敏女18 MA95004 张立男18 IS95005 王强男17 IS95015 张三男20 CS95019 李四男20 CS95020 陈冬男18 ISCourse(课程表):Cno Cname Cpno Ccredit1 数据库 5 42 数学 23 信息系统 1 44 操作系统 6 35 数据结构7 46 数据处理 27 Pascal语言6 4SC(选修表):Sno Cno Grade95001 1 6595001 2 8895001 3 5795001 4 7995001 5 4595001 6 9095001 7 8195002 2 9095002 3 8095002 4 5595003 2 095019 2 6695020 13.熟悉SQL SERVER的企业管理器和查询分析器4.在企业管理器可视化环境下创建“学生-课程”数据库,仔细观察物理模式的形成过程5.在可视化环境下建立如上所述关系模式,建立相应的实体、参照完整性,添加关系数据,仔细观察逻辑模式的形成过程6.启动“查询分析器”,编制SQL语言再次实现上述过程。
《数据库系统原理》实验指导书《数据库系统原理》实验指导书实验1 熟悉SQL Server 2000环境及数据库⽂件管理⼀、实验⽬的1、掌握登录SQL Server 2000的⽅法,熟悉SQL Server实⽤⼯具的使⽤;2、了解SQL Serve数据库的存储结构,掌握估算数据库⼤⼩技术;3、掌握创建数据库技术,掌握扩⼤和压缩数据库技术;4、掌握使⽤企业管理器⼯具和T-SQL语句及系统存储过程对数据库进⾏管理。
⼆、实验要求1、熟悉SQL Server 2000的⼯作环境,了解SQL Server主要管理⼯具的⽤途和使⽤⽅法。
2、掌握在SQL Server 2000环境下,利⽤企业管理器和T-SQL语⾔创建和管理数据库的⽅法。
三、实验设备、环境设备:奔腾II或奔腾II以上计算机环境:WINDOWS 98或WINDOWS NT、SQL SERVER 2000中⽂版四、实验原理、⽅法上机操作五、实验步骤及内容(⼀)实验步骤1、教师讲授2、教师演⽰3、学⽣实际操作(⼆)实验内容1、熟悉SQL Server 2000管理⼯具(1)企业管理器(Enterprise Manager)(2)查询分析器(Query Analyzer)(3)服务管理器(Service Manager)(4)事件探查器(Profiler)(5)导⼊和导出数据(Import and Export Data)(6)SQL Server其他管理⼯具2、数据库⽂件管理(1)数据库的创建和删除。
①在企业管理器中建⽴⼀个图书读者库。
图书读者数据库中将包括⼀个数据⽂件和⼀个⽇志⽂件,各⽂件的属性见表1-1。
②删除上题所建的数据库然后⽤T-SQL语句重新创建。
(2)修改数据库①查看图书读者数据库的属性及数据⽂件和⽇志⽂件的空间使⽤情况。
②在企业管理器中,⾸先扩⼤图书读者数据库的主数据⽂件的⼤⼩,然后查看扩⼤后的数据库属性,接着收缩主数据⽂件到定义时的⼤⼩。
数据库原理课程设计实验指导书(通⽤)《数据库原理课程设计》实验指导书实验名称:数据库原理课程设计实验类型: 综合性实验学时:⼀周适⽤对象: 计算机科学与技术⼀、实验⽬的这门课是为计算机科学与技术专业的学⽣在学习数据库原理B后,为培养更好的解决问题和实际动⼿能⼒⽽设置的实践环节。
通过这个环节,使学⽣拥有能够应⽤数据库原理对数据库系统进⾏设计的能⼒。
为后继课程和毕业设计打下良好基础。
⼆、实验要求设计⼀个基于数据库的综合数据库管理系统,包括后台数据库的设计和前台⽤户终端的设计,具体题⽬四年不重复,要求:1.准备⼯作:在课外安装相关的数据库管理系统软件和开发⼯具软件,并根据参考书熟悉DBMS 的功能、结构,为后期综合实验打好基础。
2.概念模型的设计:根据题⽬要求,列出实体集,并应⽤E-R图描述实体的属性和实体之间的联系。
3.逻辑模型的设计:根据已建⽴好的E-R图选⽤关系模型设计关系表,包括设计关系表的属性、主码等,要求关系表中的属性名必须使⽤英⽂,呈现给⽤户的视图时显⽰中⽂。
4.完整性设计:包括实体完整性、参照完整性和⽤户⾃定义完整性的设计;⽐如年龄的范围、考试成绩的范围、职务的范围等。
并设计多表间的联系,⽐如学⽣表和成绩表,要求根据E-R图的设计设计关系表的外码,并举例说明。
5.规范化设计:使⽤范式理论证明你所设计的关系⾄少属于3NF,写出证明过程;否则进⾏模式分解,直到该关系满⾜三范式,并写出分解过程;6.SQL语⾔的考察:使⽤DBMS所⽀持的SQL语⾔完成关系表的建⽴,数据的插⼊、修改和更新等功能,着种考查关系表的查询(单表查询、多表查询和组合查询等,跟关系代数⼀起考查);7.图形化⽤户界⾯的设计:完成题⽬所要求的各种功能,并⽤菜单或者⼯具栏的形式组织各种功能(如数据的录⼊、查询、更新维护等);8.权限管理的设计:所设计的系统应该有⼀定的权限管理,不同的⽤户登陆完成功能是不⼀样的,对数据表的权限也不同。
数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。
它允许用户创建,读取,更新和删除数据库中的数据。
常见的数据库管理系统有MySQL,Oracle,SQL Server等。
问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。
以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。
2. 运行安装程序,按照向导的指示进行安装。
3. 选择是否要安装MySQL 服务器和MySQL工具。
4. 设置密码以保护数据库的安全。
5. 完成安装程序并启动MySQL服务。
数据库是一个组织和存储数据的容器。
在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。
每行代表一个记录,每列代表一个字段。
问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。
常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。
问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。
ODBC驱动程序充当应用程序和数据库之间的翻译器。
问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。
在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。
在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。
具体步骤如下: 1. 加载ODBC接口库。
2. 初始化ODBC环境。
3. 建立数据库连接。
4. 执行SQL语句。
5. 关闭数据库连接。
6. 释放ODBC环境。
问题九ODBC接口库是一组API函数,用于连接和操作数据库。
理学院信科08—2班陈先国实验1 创建数据库与数据表下面写出实现如下操作的SQL语句:(1)创建供应系统“GYXT”数据库。
CREATE DATABASE GYXTON(NAME=GYXT_data,FILENAME=’D:\GYXT.mdf’,SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME=GYXT_Log,FILENAME=’D:\GXTYData.ldf’,SIZE=5,MAXSIZE=25,FILEGROWTH=5);(2) 建立供应商表S。
CREATE TABLE S( SNO char(5)not null unique,SNAME char(20)not null unique,CITY char(20));INSERT INTO S VALUES('S1','精益','天津');INSERT INTO S VALUES('S2','万胜','北京');INSERT INTO S VALUES('S3','东方','北京');INSERT INTO S VALUES('S4','丰泰隆','上海');INSERT INTO S VALUES('S5','康健','南京');(3) 建立零件表P。
CREATE TABLE P(PNO char(2)not null PRIMARY KEY(PNO),PNAME char(20),COLOR char(20),WEIGHT smallint);INSERT INTO P V ALUES('P1','螺母','红',12);INSERT INTO P V ALUES('P2','螺栓','绿',17);INSERT INTO P V ALUES('P3','螺丝刀','蓝',14); INSERT INTO P V ALUES('P4','螺丝刀','红',14); INSERT INTO P V ALUES('P5','凸轮','蓝',40); INSERT INTO P V ALUES('P6','齿轮','红',30);(4) 建立工程项目表J。
数据库原理(工商、物流)实验指导书刘琼慧交通经济管理实验教学中心目录实验一 Visual Foxpro 6.0基本操作实验二 概念模型的建立实验三 数据库表的管理实验四 SQL语言的应用实验五 数据库设计方法实验实验六 数据库应用设计实验实验一 Visual Foxpro 6.0基本操作(必做实验)一、实验目的VFP作为成功的PC平台RDBMS,其性能优越、界面友好、工具丰富、兼容性良好,并且容易上手、使用广泛,可满足中等规模数据库管理要求。
了解VFP的基本知识,首先了解数据库的基本操作:交互命令方式和菜单操作方式,熟悉VFP用户界面。
通过使用具体的DBMS,了解一种实际的数据库管理系统并掌握其操作技术二、实验原理数据库的操作:交互命令方式和菜单操作方式1.建立数据库结构2.输入数据库记录3.输入相关命令对数据库进行操作:如库结构的修改,记录的插入、删除、添加、库文件的复制、排序与索引、查询与统计等。
三、实验要求1.制作学生基本情况数据表(JBB):包含{学号(C4)、姓名(C8)、性别(C2),生日(D),系别(C6),奖励(N8.2),打工收入(N7.2)、爱好(M),照片(G)};2.制作课程数据表(KCB),包含{课程号(C3),课程名(C10)、任课教师(C8),上课教室(C10)}等信息;3.制作选课数据表(XKB),包含(学号(C4),课程号(C3),考试成绩(N5.1),考试日期(D));4.制作家庭情况表(JTB),包含(学号(C4),父姓名(C8),母姓名(C8),父工作单位(C20),家庭住址(C24),家庭电话(C16));5.向学生基本表(JBB)中输入至少20名学生的信息。
5人为工商管理系,4人为信息管理系,4人为工程管理系,其他人随便选择系别;6.向课程数据表(KCB)中输入至少10门课程;7.向家庭情况表(JTB)中至少输入20条与基本情况表相应的数据信息;8.向选课数据表(XKB)中输入学生选课情况。
数据库原理与应⽤实验指导书完整(快速切换页码⽅法:按住ctrl键再单击相关项⽬)实验⼀创建数据库与表1. 新建数据库(1) 利⽤向导创建数据库(新建⽂件/本机上的模板)(2) 创建空数据库2. 表的基本操作(1) 使⽤向导创建表(2) 复制表(3) 利⽤设计视图建⽴表(参考教材P25-P29)①设置查阅向导②设置标题属性(P42)③设置默认值(P44)④设置字段的“有效性规则”与“有效性⽂本”(P42)⑤设置掩码(P43)⑥设置⽇期格式:(P40)⑦设置主键(P49)⑧增加字段,在“姓名”字段后增加⼀个“年龄”字段(P48)⑨删除字段,将刚增加的字段删除。
(P49)(4) 表操作①在数据表视图和设计视图之间进⾏切换,熟悉切换的⽅法。
②在数据表视图中输⼊记录。
③隐藏/取消隐藏列(P53)——格式菜单④冻结(P64)——格式菜单⑤排序(P58)——记录菜单⑥筛选(P60)——记录菜单⑦调整表外观——格式菜单3. 表间关系(P64)4. 导⼊、链接、导出(P34)实验⼆查询⑴使⽤设计视图建⽴查询⑵使⽤设计视图建⽴查询⑶设置查询排序及准则⑷汇总查询⑸交叉表查询⑹参数查询⑺动作查询①删除查询②更新查询③追加查询④⽣成表查询:⑻利⽤SQL语句建⽴查询实验三窗体1. 掌握⾃动创建窗体、使⽤向导创建窗体的⽅法(1) 建⽴基于单表的窗体①纵栏式窗体②“表格式”窗体(2) 建⽴基于多表的“学⽣信息和成绩”窗体2. 在设计视图创建窗体⑴建⽴“学⽣信息简表”窗体⑵使⽤设计视图1⑶使⽤设计视图2实验四报表1. 建⽴“学⽣成绩单”报表2. 建⽴“学⽣档案”报表3. 建⽴“分数段统计”报表4. 建⽴“排名次”统计报表实验五宏实验六数据库设计理论实践《数据库原理与应⽤》实验指导书⼀、实验的性质与学习⽬的《数据库原理与应⽤》为⾮计算机专业的公共课程。
通过实验教学,使学⽣验证并掌握数据库管理系统的基本原理,具备数据库的基本设计能⼒、掌握利⽤数据库进⾏信息管理的基本技能,初步掌握数据库应⽤系统的开发⽅法,为以后更好地使⽤数据库应⽤系统打下坚实的基础。
数据库原理实验指导书实验名称:试验一:SQL语言嵌套查询和数据更新操作所属课程:数据库原理实验类型:设计型实验实验类别:基础□专业基础√专业□实验学时:4学时一、实验目的1.熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;2.加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算);3.熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用;4.加深理解表的定义对数据更新的作用二、预习与参考1.熟悉SQL SERVER 工作环境;2.连接到学生-课程数据库3.复习对表中数据查询的SQL语言命令;4.复习对表中数据的插入、修改和删除的SQL语言命令。
三、实验要求(设计要求)针对教材例子,通过SQL SERVER企业管理器和查询分析器两种模式,熟悉数据嵌套查询、更新操作。
四、实验方法及步骤1.在表S、C、SC上进行简单查询;2.在表S、C、SC上进行连接查询;3.在表S、C、SC上进行嵌套查询;4.使用聚合函数的查询;5.对数据的分组查询;6.对数据的排序查询。
7.将数据插入当前数据库的表S、C、SC中;A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行8.将以上插入的数据分别以.SQL文件和.txt文件的形式保存在磁盘上;9.修改表S、C、SC中的数据;A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行10.删除表S、C、SC中的数据。
A:用SQL命令形式B:用SQL SERVER提供的企业管理器以交互方式进行五、实验内容在表S,C,SC上完成以下操作:1.查询学生的基本信息;2.查询“CS”系学生的基本信息;3.查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;4.找出最大年龄;5.找出“CS”系年龄最大的学生,显示其学号、姓名;6.找出各系年龄最大的学生,显示其学号、姓名;7.统计“CS”系学生的人数;8.统计各系学生的人数,结果按升序排列;9.按系统计各系学生的平均年龄,结果按降序排列;10.查询每门课程的课程名;11.查询无先修课的课程的课程名和学时数;12.统计无先修课的课程的学时总数;13.统计每位学生选修课程的门数、学分及其平均成绩;14.统计选修每门课程的学生人数及各门课程的平均成绩;15.找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列;16.查询选修了“1”或“2”号课程的学生学号和姓名;17.查询选修了“1”和“2”号课程的学生学号和姓名;18.查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;19.查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);20.查询没有选修课程的学生的基本信息;21.查询选修了3门以上课程的学生学号;22.查询选修课程成绩至少有一门在80分以上的学生学号;23.查询选修课程成绩均在80分以上的学生学号;24.查询选修课程平均成绩在80分以上的学生学号;25.选做:针对SPJ数据库中的四个表S,P,J,SPJ,完成教材P74-75--习题5中的查询及教材P127--习题5中的查询。
实验一实验环境熟悉与数据库(表)的建立实验目的熟悉实验的环境,掌握数据库、数据表的建立方法。
实验内容1、熟悉SQL的使用环境进入SQL环境(企业管理管理器、查询分析器)。
2、建立学生管理系统所需的数据库、数据表一个数据库,三张数据表。
实验环境1、硬件PC机,具有网络功能。
2、软件OS:windows 2000 professional;DBMS: SQL Server 2000.实验过程一、SQL server 2000环境1、系统的安装系统的安装过程比较简单,给学生演示一下。
2、进入查询分析器开始→程序→Microsoft SQL Server→查询分析器, 如下图所示:图1-1查询分析器的界面如图1-2所示:图1-2在文本框输入命令即可。
举例:计算圆面积的SQL程序的输入与运行结果界面(图1-3)。
图1-33、企业管理器的进入开始→程序→Microsoft SQL Server→企业管理器, 如下图所示:图1-4企业管理器的界面如图1-5:图1-5二、建立数据库与数据表1、建立学生管理数据库用SQL语句(生成的主文件名为: XSGL.MDF)语句为:CREATE DATABASE XSGL2、建立学生管理系统的数据表(共3个)使用SQL语句建立如下三个数据表(表结构见课本P92):学生表: Student.DBF(选本班10个同学作为10条记录)CREATE TABLE Student (Sno CHAR(9) PRIMARY KEY, Sname CHAR(20)UNIQUE, Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));INSERT INTO Student ( Sno, Sname, Ssex, Sdept, Sage) V ALUES ('200215128','陈东','男','IS',18);建立表结构的语句见课本p85(P88—P89),记录的输入用插入命令INSERT, 详见课本P115。
《数据库原理》实验指导书V2.0执笔:日期:实验一 数据库、表、索引的定义一、实验目的:通过本实验加深对SQL Server 2008环境下数据定义语言的理解,能够熟练地建立数据库,并通过SQL 语句来创建和修改基本表、创建和取消索引。
二、实验内容:使用SQL Server 2008软件,练习创建和修改数据库、表、索引。
三、实验要求:建立一个新的SQL Server 设备管理数据库,使用SQL 的数据定义功能建立数据库中的各个基本表(共3个),并按要求对有关表进行修改。
每次操作后通过企业管理器查看有关对象的变化。
四、实验学时:2学时 五、实验步骤:1.创建数据库1) 使用企业管理器创建数据库运行Microsoft SQL Server Management Studio 并建立于数据库的连接后,进入如图1界面:在“数据库”上右击,进入图2所示界面。
图1Microsoft SQL Server Management Studio 管理界面图2新建数据库管理界面图3 新建数据库设置界面在图3中进行相关设置,主要包括:①输入数据库名称(根据学生本人的学号取名),所有者为默认。
②在“数据库文件”页中输入文件逻辑名称。
③若要更改数据文件的物理存储位置,在“路径”中修改,(注意确定文件目录已经存在、并允许读写)。
④在“初始大小”项上输入希望的大小。
⑤可在“自动增长”中修改默认设置。
【说明一】:数据文件和日志文件的作用数据文件又包括:主数据文件和辅助数据文件。
主数据文件的扩展名是.mdf,每个数据库只能包含一个主数据文件。
辅助数据文件的扩展名是.ndf。
辅助数据文件可以同主数据文件存放在相同的位置,也可以存放在不同的地方。
日志文件记录页的分配和释放以及对数据库数据的修改操作。
日志文件的扩展名为.ldf,它包含用于恢复数据库的日志信息。
每个数据库必须至少有一个日志文件。
【说明二】:数据库文件的属性在定义数据库的数据文件和日志文件时,可以指定如下属性:文件名及其位置。
实验一 创建数据库和表一、实验目的及要求:1.了解SQL SERVER 数据库的逻辑结构和物理结构2.了解表的结构特点3.了解SQL SERVER 的基本数据结构二、实验任务:1.学会在企业管理器中创建数据库和表2.学会在T-SQL 语句创建数据库和表三、操作要点:1.启动企业管理器,并创建数据库和表2.启动SQL 查询分析器3.掌握创建数据库和表分别是CREATE DATABASE 和CREATE TABLE四、注意事项:1.在Microsoft SQL Server 2000的查询分析器(Query Analyzer)中使用单条SQL 语句,其末尾不需要分号“;”作为命令结尾标记。
2.通常,SQL Server 2000对大多数末尾带有分号的SQL 命令都能顺利执行,但对少数的SQL 命令,末尾若带分号,则SQL Server 2000会给出错误信息提示。
五、实验学时:2学时六、实验重点及难点:1.列级完整性约束条件2.空值的概念3.CREATE DA TABASE 和CREATE TABLE 的用法七、实验步骤:(一) 企业管理器创建数据库和表1.启动企业管理器;2.创建数据库Company ,并创建一个主数据文件Company_Data1,一个二级数据文件Company_Data2,一个日志文件Company_Log ,以及一个自定义文件组Company_Group ,该组中有数据文件Company_Data3,设置各文件属性。
(二) T-SQL 语句创建数据库和表1.启动SQL 查询分析器;2.创建数据库University ,并创建一个主数据文件University_Data 和一个日志文件University_Log ;3. 建立表5.3所示的学生表Students ,各属性为Sno-学号、Sname-姓名、Ssex-性别、Sage-年龄、Sdept-所在系。
要求Sno 和Sname 不能为空值,且取值唯一,Sno 为键码。
《数据库原理》实验指导书徐明、黄辉、徐丹编写适用专业:计算机科学与技术江苏科技大学电子信息学院2010年7 月前言数据库技术是计算机科学技术的重要分支,是信息社会的三大支柱之一。
近二十年来,数据库技术不断发展,同时广泛应用于社会各行各业,领域不断扩展。
目前可见的绝大多数计算机应用系统都离不开数据库的支撑。
通过教学,使学生系统地掌握数据库系统的基本原理、概念、模型、结构、优化方法、事务管理及完整性约束方法等。
为了使学生更好地理解和深刻地把握这些知识,并在此基础上,训练和培养学生从事复杂数据库系统的设计、开发和应用方面的能力,设置以下实验项目:1.数据定义,综合型实验,旨在使学生掌握SQL Plus的使用以及SQL模式定义语句,定义相关的表、索引与完整性约束。
2.数据操纵,综合型实验,使学生掌握SQL查询、插入、修改、删除语句以及SQL聚集函数的使用。
3.小型数据库应用系统开发,设计型实验,通过此实验掌握数据库开发的基本步骤,通过完成从用户需求分析、数据库设计到上机编程、调试和应用等全过程,进一步了解和掌握本书中所讲解的内容。
本指导书旨在给出一个实践操作的内容和方法,具体的实验步骤学生可自己拟定,不必拘泥于指导书中的方案。
实验一:数据定义实验学时:4学时实验类型:综合型实验要求:必修一、实验目的1、熟悉Oracle的客户端配置;2、掌握SQL Plus的使用;3、掌握SQL模式定义语句,定义相关的表、索引与完整性约束。
二、实验内容1 Oracle的使用Oracle数据库管理系统采用客户机/服务器结构,客户端上需要配置数据库网络服务命名。
在操作系统的“开始”菜单的“Oracle”程序组中,找到并运行“Net8”。
查看其中的服务命名配置是否与服务器的数据库监听服务一致。
例如:服务命名为“Oracle”,参数主机名“Db_server”(也可以输入主机的IP地址),监听端口“1521”,数据库名“Orcl”。
《数据库原理与应用》课程实验指导书苏州工业职业技术学院信息工程系2008.1目录目录 (Ⅰ)前言………………………………………………………………………………………实验一初识SQL Server 2000…………………………………………………实验二数据库的创建和管理…………………………………………………实验三表的创建、管理及数据操作……………………………………………实验四单表查询……………………………………………………………实验五连接查询…………………………………………………………实验六嵌套查询……………………………………………………实验七视图的创建和管理……………………………………………………实验八游标的使用……………………………………………………实验九T-SQL语言编程基础…………………………………………………实验十函数…………………………………………………………………………实验十一索引、默认值约束和默认值对象………………………………实验十二数据完整性的实现…………………………………………………实验十三存储过程…………………………………………………实验十四触发器…………………………………………………实验十五系统安全管理…………………………………………………实验十六数据备份、恢复和导入导出………………………………………实验十七综合训练…………………………………………………前言数据库技术是计算机学科中的一个重要分支,发展迅速、应用非常广泛,几乎涉及了所有应用领域。
例如,办公系统、生产管理、财务管理、人事管理、工业管理等,都广泛应用了数据库技术。
本实验指导书是《数据库原理与应用》课程的配套实验资料。
通过安排实验及布置的任务,让学生熟练掌握使用关系数据库管理系统SQL Server 2000进行数据库及表的创建和管理、查询、Transact—SQL程序设计、各类约束的创建及使用、视图及索引的创建与管理、SQL Server 的存储过程的创建和管理、SQL Server 的触发器创建和管理、SQL Server的安全性管理、数据库的备份及恢复。
数据库原理SQLServer实验指导书数据库系统原理实验一、基本操作实验实验1:数据库的定义实验本实验的实验目的是要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL语句和进行结果分析。
本实验的内容包括:l)创建数据库和查看数据库属性。
2)创建表、确定表的主码和约束条件,为主码建索引。
3)查看和修改表结构。
4)熟悉SQL Server Enterpriser Manager和 Query Analyzer工具的使用方法具体实验任务如下。
1.基本提作实验1)使用Enterpriser Manager建立图书读者数据库2)在Enterpriser Manager中查看图书读者数据库的属性,并进行修改,使之符合要求。
3)通过Enterpriser Manager,在建好了图书借阅数据库中建立图书、读者和借阅3个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,作者);读者(编号,姓名,单位,性别,电话):借阅(书号,读者编号,借阅日期人)要求为属性选择合适的数据类型,定义每个表的主键,Allow Null(是否允许空值)和Default Value(缺省值)等列级数据约柬。
4)在Enterpriser Manager建立图书、读者和借阅3个表的表级约束:每个表的PrimaryKey (主键)约束;借阅表与图书表间、借阅表与读者表之间的FOREIGNKEY(外码)约柬,要求按语义先确定外码约束表达式,再通过操作予以实现;实现借阅表的书号和读者编号的UNIQUE(惟一性)约束;实现读者性别只能是“男”或“女”的check(检查)约束。
2.提高操作实验建立学生_课程库操作,在SQL Server Enterpriser Manager中实现。
宁波工程学院数据库理论与技术课程实验报告学院:电子与信息工程学院专业:计算机科学与技术年级:实验时间:组名:组长:组员姓名:指导教师签字:成绩:实验三、SQL-数据查询语言一、实验目的和要求1、实验目的:深入理解连接查询和嵌套查询的语句格式、执行过程,掌握它们的使用方法;理解数据更新语言INSERT、UPDATE、DELETE语句的格式和作用,掌握它们的使用方法和应用范围;理解视图的概念,掌握其定义方法和应用方法。
2、实验要求:在每次实验前,学生必须根据实验指导书设计出实验方案(程序和实验步骤);在实验过程中要求独立进行程序调试和排错,学会使用在线帮助来解决实验中遇到的问题,同时运用理论的知识来分析问题和解决问题,记录下实验过程和结果。
上机结束后写出实验报告,并对实验过程进行分析和总结。
二、实验内容与步骤1、在SQL SERVER 2005上附加数据库jxgl和ReadBook。
2、在jxgl中完成下列查询jxgl数据库中表及表中字段说明:Students(sno, sname,class,ssex,bday,bplace,mgrade,photo,sfzh,zxf)该表是学生基本信息表其中:sno-学号,sname-姓名,class-班级,ssex-性别,bday-出生日期,bplace-籍贯,mgrade-入学成绩,photo-照片,sfzh-身份证号码,zxf-总学分Course(cno,cname,cpno,credit)该表是课程情况表其中:cno-课程号,cname-课程名称,cpno-先修课程号,credit—学分SC(term,sno,cno,grade,point)该表是学生选课成绩表其中:term-学期,sno-学号,cno-课程号,grade-成绩,point-绩点TC(term,class,cno,tno,period)该表是教师上课情况表其中:list—序号,term-学期;class-班级;cno-课程号;tno-教师编号;period-学时Teachers (tno,tname,ps,wday,dept,pay,marry,resume)该表是教师基本情况表:其中t no-教师编号;tname-教师姓名;ps-职称;wday-入校日期;dept-系别;pay-工资;marry-婚否;resume-简历(1)查询选修课程学生的学号、姓名、所选课程号、课程名称以及所取得的成绩(2)查询每一门课程及其先修课程,查询结果中显示课程号、课程名和先修课程名(3)查询和“刘涛”在一个班级的学生的信息思考:该查询可用几种方法实现?(4)查询选修了…计算机基础‟课的学生的学号、姓名(分别用连接查询和嵌套查询的方法实现)(5)查询没有选修课程的学生的信息(6)查询其他班中比“03计算应用1”所有学生入学成绩高的学生的姓名和入学成绩(用两种方法实现)(7)查询每个学生超过该门课程平均成绩的学号(8)查询至少选修了“0311102”学生所选全部课程的学生的学号(9)查询既选修了“计算机基础”又选修了“C语言基础”的学生的学号3、在jxgl中完成下列数据更新(1)向course表添加一个新的元组。
一实验题目:嵌套查询和连接查询二实验目的:加深对嵌套查询和连接查询的理解,比较两种方法的不同。
三实验内容及要求:从下面10个题目中选一个,每个题目中第一个查询用连接查询和嵌套查询两种方法完成,其它查询要求用一种方法是先即可,注意选择那种方法。
题目一:学生(学号,年龄,性别,系名)课程(课号,课名,学分,学时)选课(学号,课号,成绩)根据上面基本表的信息完成下列查询。
1 查询选修了数据库原理的学生姓名。
2 查询比计算机系所有学生年龄都大的学生信息。
3列出“张力”选修的所有课程的课名和成绩。
题目二:图书(书号,书名,价格,出版社)读者(卡号,姓名,年龄,所属单位)借阅(书号,卡号,借阅日期)根据上面基本表的信息完成下列查询。
1 查询高教出版社的《数据库原理》的读者姓名。
2 查询价格比高教出版社图书都贵的图书信息。
3 查询年龄20岁以下的读者姓名和所借阅图书的书名。
题目三:商品(编号,品名,进价,库存,售价,厂商编号)顾客(卡号,姓名,电话,积分)厂商(编号,厂址,名称、电话)销售(顾客卡号,商品编号,数量,日期)根据上面基本表的信息完成下列查询。
1 查询积分100以上的顾客买的商品名称和价格2 查询比“伊利乳品”所有产品都贵的商品价格3 查询库存不足100的商品名称和厂商名称及电话题目四:图书(书号,书名,作者编号,价格,出版社编号)作者(编号,姓名,电话)出版社(编号,出版社名称,地址)根据上面基本表的信息完成下列查询。
1 查询价格10元以下的图书作者信息2 查询比“张力”写的书都便宜的图书信息3 查询高教出版社出版的图书书名和作者姓名题目五:零件(编号,名称,颜色)车间(编号,名称,人数,主任)产品(编号,名称,车间编号)使用(产品编号,使用零件编号,个数)根据上面基本表的信息完成下列查询。
1 查询所有使用红色零件的产品名称。
2 查询比3号、4号、5号车间人数都少的车间生产的产品名称3 查“张力”当主任的车间的各个产品名称及其所需零件名称、数量题目六:药品(编号,名称,价格,厂商)处方(药品编号,数量,医生编号)医生(编号,姓名,科室,职称)根据上面基本表的信息完成下列查询。
1 列出医生“张力”开的所有药品名称。
2 列出比“北方制药”所有药品都贵的药品信息。
3 列出内科所有处方的医生姓名、药品名称、金额题目七:学生(学号,年龄,性别,系名)教材(编号,书名,出版社编号,价格)订购(学号,书号,数量)出版社(编号,名称,地址)根据上面基本表的信息完成下列查询。
1 查询订购高教出版社教材的学生姓名2 查询比所有高教出版的图书都贵的图书信息3 列出每位学生姓名、订购教材书名、价格。
题目八:员工(编号,姓名,性别,年龄,部门编号,年薪)部门(编号,名称,人数,负责人)项目(编号,名称,负责部门编号)根据上面基本表的信息完成下列查询。
1 查询员工张力所在部门的名称。
2 查询比人事处所有员工年薪都高的员工姓名。
3 列出每个部门名称和负责的项目名称。
题目九:帐户(编号,姓名,余额,建立日期,储蓄所编号)储蓄所(编号,名称,地址,人数,所属城市)借贷(帐户,借贷类型,金额,日期)根据上面基本表的信息完成下列查询。
1 查询在“长春南湖路”储蓄所开户的帐户姓名和余额。
2 查询一次借贷超过10万元的帐户名称和金额。
3 查询比“长春南湖路”储蓄所开户的所有帐户余额都高的帐户名称。
题目十:仓库(编号,保管员编号,面积)保管员(编号,姓名,年龄,电话、月薪)商品(编号,品名,仓库编号、数量,单价)1 查询“张力”保管的仓库编号、面积。
2 查询“波顿牛仔裤”所在仓库的保管员电话和仓库面积。
3 查询比保管员张力保管的商品价格都高的商品名称。
四实验指导(一)连接查询语法一:SELECT 列FROM 表1 INNER JION 表2 ON 表1.列=表2.列语法二:SELECT 列FROM 表1, 表2WHERE表1.列=表2.列【例1】从titles和titleauthor表中查询书的书号、书名、作者号、类型和价格。
use pubsgoselect titles.title_id,title,au_id,type,pricefrom titles join titleauthoron titles.title_id=titleauthor.title_id在上述查询中titles表与titleauthor表通过title_id列进行连接,这样可以在一次查询中从两个表获得数据。
两个以上的表也可以进行连接。
【例2】从titles、authors和titleauthor表中查询书的书号、书名、作者号和作者名。
use pubsgoselect titles.title_id,title,authors.au_id,au_lnamefrom titles join titleauthoron titles.title_id=titleauthor.title_idjoin authorson authors.au_id=titleauthor.au_id通过上述查询可以将titles、authors和titleauthor 组合起来,把每一本书和它的作者对应。
在从两个或两个以上的表中进行查询时,如果两个表中的列名相同,需要在列名前面加上表名(或表的别名)作为前缀,如上述例子中的titles.title_id与titleauthor.title_id。
在列名不同时,列名前可以不加表名,但有时也会加上表名,以增强可读性。
连接操作不仅可以在不同的表上进行,而且在同一张表内可以进行自身连接,即将同一个表的不同行连接起来。
自连接可以看作一张表的两个副本之间的连接。
在自连接中,必须为表指定两个别名,使之在逻辑上成为两张表。
例如:在titles表中查询同名的作者。
use pubsgoselect a1.au_fname,a2.au_fname,a1.au_lnamefrom authors a1 join authors a2on a1.au_lname=a2.au_lnamewhere a1.au_id<> a2.au_id(二)嵌套查询嵌套子查询的执行不依赖于外部嵌套。
嵌套子查询的执行过程为:首先执行子查询,子查询得到的结果集不被显示出来,而是传给外部查询,作为外部查询的条件使用,然后执行外部查询,并显示查询结果。
子查询可以多层嵌套。
嵌套子查询一般也分为两种:子查询返回单个值和子查询返回一个值列表。
(1)返回单个值,该值被外部查询的比较操作(如,= 、!=、<、<=、>、>=)使用,该值可以使子查询中使用集合函数得到的值。
【例1】查询书号为pc1035的作者的作者号、作者姓名。
use pubsgoselect au_id,au_lname,au_fnamefrom authorswhere au_id=(select au_idfrom titleauthorwhere title_id='pc1035' )得到的结果为:au_id au_lname au_fname----------- ---------------------------------------- --------------------238-95-7766 Carson Cheryl(所影响的行数为 1 行)例1的查询也可以用前面讲过的表连接来实现,代码如下:use pubsgoselect authors.au_id,au_lname,au_fnamefrom authors,titleauthorwhere authors.au_id=titleauthor.au_id and title_id='pc1035'(2)返回一个值列表,该列表被外部查询的IN、NOT IN、ANY或ALL比较操作使用。
IN表示属于,即外部查询中用于判断的表达式的值与子查询返回的值列表中的一个值相等;NOT IN 表示不属于。
【例2】查询所有出版了书的作者的信息。
use pubsgoselect au_id,au_lname,au_fnamefrom authorswhere au_id in(select au_idfrom titleauthor)得到的结果为:au_id au_lname au_fname----------- ---------------------------------------- --------------------172-32-1176 White Johnson213-46-8915 Green Marjorie238-95-7766 Carson Cheryl267-41-2394 O'Leary Michael……(所影响的行数为 19 行)ANY、SOME和ALL用于一个值与一组值的比较,以“>”为例,ANY 表示大于一组值中的任意一个,ALL表示大于一组值中的每一个。
比如,>ANY(1,2,3)表示大于1;而>ALL(1,2,3)表示大于3。
五实验报告要求:1 第一个查询要求分别用连接查询和嵌套查询完成,给出查询命令、初始数据、执行果,比较不同方法的效率。
2 其它查询要求给出查询命令、初始数据、执行结果,说明你选择连接查询或嵌套查询的原因。