2023春数据库试验指导_第1页
2023春数据库试验指导_第2页
2023春数据库试验指导_第3页
2023春数据库试验指导_第4页
2023春数据库试验指导_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——2023春数据库试验指导

试验1SQLServer的安装及管理工具的使用

一、试验目的

1、通过对某个商用数据库管理系统的使用,了解DBMS的工作原理和系统构架。在此推荐数据库管理系统SQLServer2023,该系统已经在机房FTP上。你也可以从微软官方网站上下载该系统。2、熟悉对DBMS的操作

二、试验内容

1、根据安装文件的说明安装数据库管理系统。在安装过程中记录安装的选择,并且对所作的选择进行思考,为何要进行这样的配置,对今后运行数据库管理系统会有什么影响。2、学会启动和中止数据库服务,思考可以用哪些方式来完成启动和中止。3、把握管理工具的使用

(1)SQLServerManagementStudio的使用

?连接服务器的方法?查询编辑器的使用(2)配置管理器的使用

4、了解数据库系统的规律组件:

它们主要是数据库对象,包括基本表、视图、触发器、存储过程、约束等。今后将学习如何操作这些数据库对象。

三、试验报告要求

1、给出安装过程中出现的错误及解决方法。

2、根据你所了解的SQLServer工具,写出部分主要组件的功能(以SQLServer2023为例,写出SQLServerManagementStudio、配置管理器)。

试验2交互式SQL

2.1创立数据库及表

一、试验目的

本次试验了解SQLServer2023的启动,熟悉如何使用SSMS和SQL建立数据库和表,并加深对于完整性的理解。

二、背景知识

在使用数据库的过程中,接触最多的就是数据库中的表。表是数据存储的地方,是数据库中最重要的部分,管理好表也就管理好了数据库。

表是由行和列组成的。创立表的过程主要就是定义表的列的过程。表的列名在同一个表中

具有唯一性,同一列的数据属于同一种数据类型。除了用列名和数据类型来指定列的属性外,还可以定义其它属性:是否为空、默认值、标识符列、全局唯一标识符列等。

约束是SQLServer提供的自动保持数据库完整性的一种方法,定义了可输入表或表的单个列中的数据的限制条件。在SQLServer中有5种约束:主关键字约束(PrimaryKeyConstraint)、外关键字约束(ForeignKeyConstraint)、惟一性约束(UniqueConstraint)、检查约束(CheckConstraint)和默认约束(DefaultConstraint)。

三、试验内容

方法1:在SSMS中创立数据库和表

在本练习中,将使用SQLServer2023数据库管理系统创立Student数据库,并在Student数据库中创立表Student,使你能够把握使用SQLServer2023数据库管理系统创立数据库和表的方法。

1)启动SQLServer2023:

依次单击开始->所有程序->SQLServer2023->SQLServerManagementStudio启动SQLServer2023数据库管理系统2)登录数据库服务器:

点击“连接到服务器“对话框中的连接按钮连接到SQLServer2023数据库服务器。

3)创立数据库Student

在SQLServer2023数据库管理系统的左边栏“对象资源管理器〞中右击数据库对象,在弹出的快捷菜单中单击“新建数据库〞命令。

在弹出的“新建数据库〞对话框右侧的数据库名称中输入数据库名称“Student〞,然后单击确定。

4)在Student数据库中新建表〞Student〞

单击SQLServer2023数据库管理系统的左侧的“对象资源管理器〞栏中的〞刷新〞按

钮,以显示出新建的数据库“Student〞。依次展开左侧栏对象资源管理器中的“数据库〞->“Student〞,并右击Student数据库中的表项目,在弹出的快捷菜单中单击“新建表〞命令。

在右侧在工作区中输入“Student〞表的信息,该表具有如以下:列名SnoSnameSsexSageSdept数据类型CHAR(5)CHAR(10)BITINTCHAR(15)完整性约束主码非空无无无

单击文件菜单中的保存命令保存该表,并取名为“Student〞。

方法二、使用SQL语句创立数据库和表

1)单击工具栏中的“新建查询〞按钮,并在弹出的“连接到服务器〞对话框中单击“连

接〞按钮,新建一个SQL脚本。

2)在右侧的SQL脚本输入框中输入如下SQL代码:

CREATEDATABASESTUDENT--创立STUDENT数据库GO

USESTUDENTGO

--转到STUDENT数据库

CREATETABLESTUDENT--在STUDENT数据库中创立表STUDENT(

SnoCHAR(5)PRIMARYKEY,SnameCHAR(10)NOTNULL,SsexBIT,SageINT,

SdeptCHAR(15))

单击工具栏中的

执行按钮,运行SQL语句,完成数据库与表的创立。

四、试验任务

1.用两种方法建立一个新数据库HRM(也可任意取名)。2.在数据库HRM中,建立如下所示的三个表:Employee表

列名EmployeeIDNameBirthdaySexAddressZipPhoneNumberEmailAddressDepartmentIDDepartments表列名DepartmentIDDepartmentNameNoteSalary表列名EmployeeIDIncomeOutCome数据类型CharCharDatetimeBitCharCharCharCharChar数据类型CharCharText数据类型CharFloatFloat长度6108120612303长度32016长度688是否允许为空否否否否是是是是否是否允许为空否否是是否允许为空否否否说明员工编号,主键姓名出生日期性别地址邮编电话号码电子邮件地址员工部门号,外键说明员工部门号,主键部门名备注说明员工编号,外键收入支出3.对三张表输入数据(可任意输入,但注意要符合完整性要求,否则会出错,在本试验中,外键设置可先不做要求)

五、试验报告要求

1、要求给出三个表创立的SQL语句,要求建表时给出主外键约束、唯一约束、取空值约束、用户自定义的约束等。(注:在试验报告上只需写出其中一个表的SQL语句即可)

2、举例说明如何操作会违背完整性(实体完整性、参照完整性)。

2.2SQL数据查询语句

一、试验目的

?了解SQLServer2023查询编辑器的启动,熟悉如何在SQLServer2023查询编辑器

查询记录。

?把握SELECT语句的基本语法和查询条件表示方法

?把握GROUPBY和ORDERBY子句的作用和使用方法?把握连接查询和子查询的使用方法

二、试验内容

1、单击工具栏中的“新建查询〞按钮,并在弹出的“连接到服务器〞对话框中单击“连接〞按钮,新建一个SQL脚本。

2、在SQL脚本中写数据查询语句执行;从表中查询数据:

在查询分析器的查询窗口中输入SQL语句,如下图。

点击

按钮,执行该SQL语句,在查询窗口下部出现一个输出窗口,如下图。

三、试验任务

1.对上节建立的表输入数据:Departments表:DepartmentID123Employee表EmployeeIDNameBirthdaySexAddressZip10011002100320232023202330013002Salary表EmployeeID100110021003202320232023Income360033003700400038003800OutCome150010001200160018001500李勇王敏刘晨张立刘毅张玫徐静赵军78-3-1280-11-278-6-2278-8-182-1-2381-3-1576-8-1279-2-1901000110河南河南河南河南河南河南河南河南PhoneNumberEmailAddressly@lc@zl@ly@zm@xj@zj@DepartmentID112223347500138803784750020378311475003037832247500403783334750050378344475006037835547500703783664750080378377DepartmentName财务部研发部人力资源部Note财务部研发部人力资源部wm@1

3001300242004100200018002、练习下面简单的查询语句:

a)查询每个雇员的所有信息b)查询每个雇员的地址和电话

c)查询EmployeeID为000001的雇员的地址和电话。d)查询女雇员地址和电话,并用AS子句将结果中各列的标题分别指定为“地址〞和“电话〞。

e)计算每个雇员的实际收入。f)找出所有姓王的雇员的部门号。

思考:找出所有地址中含有“中山〞的雇员的号码和部门号。3、练习多表连接查询和嵌套查询:

a)查询每个雇员的状况及工资状况(工资=Income-Outcome)b)查询财务部工资在2200元以上的雇员姓名及工资状况c)查询研发部在1966年以前出生的雇员姓名及其工资详情d)查询人力资源部雇员的最高和最低工资e)将各雇员的状况按工资由低到高排列f)求各部门的雇员数

g)找出所有在财务部和人力资源部工作的雇员的编号h)统计人力资源部工资在2500以上雇员的人数i)求财务部雇员的总人数j)求财务部雇员的平均工资

k)查找比所有财务部的雇员工资都高的雇员的姓名

l)查找财务部年龄不低于研发部所有雇员年龄的雇员的姓名m)查找在财务部工作的雇员的状况

四、试验报告要求

1、写出与上述查询任务相对应的SQL查询语句(注:在试验报告上写出2-d、2-e、2-f及3中所有练习的SQL语句)

2、并记录在试验过程中遇到的问题、解决方法及心得体会。

2.3视图的定义和操作

一、试验目的:

理解视图的概念,把握视图的使用方法。

二、预计试验时间:上机一次

三、试验过程

1.对应HRM数据库,参照前面试验中完成的查询,按如下要求自行设计视图:

1)基于单个表按投影操作定义视图。

举例:定义一个视图用以查看所有员工的编号、姓名和出生日期。2)基于单个表按选择操作定义视图。

举例:定义一个满足sex=’true’的员工的所有信息的视图。3)基于单个表按选择和投影操作定义视图。

举例:定义一个视图用以查看部门号码为‘2’的所有员工的姓名、电话和邮件地址。4)基于多个表根据连接操作定义视图。

举例:定义一个视图用以查看所有员工的姓名、部门名及工资。5)基于多个表根据嵌套查询定义视图。

举例:定义一个比所有财务部的雇员工资都高的雇员的信息的视图6)定义含有虚字段(即基本表中原本不存在的字段)的视图。举例:定义一个视图用以查看所有雇员的编号、姓名、年龄。

2.分别在定义的视图上进行查询、插入、更新和删除操作,分状况(查询、更新)探讨哪些操作可以成功完成,哪些不能成功完成,并分析原因。

四、试验报告要求:

1、在试验报告中要给出上述任务的视图定义语句;(注:试验报告上写出4、5、6的SQL语句)

2、分状况探讨哪些操作可以成功完成,哪些不能成功完成。

查询操作:举出一个进行查询操作的例子。更新操作:更新操作包含插入、更新、删除,针对不能成功完成更新操作的状况举出两个例子,并分析原因。

2.4SQL数据更新语句

一、试验目的

????

加深对SQL数据更新(插入、修改及删除)语句的基本语法格式的把握把握单个元组及多个元组的插入、修改及删除操作的实现过程加深对更新操作时数据库中数据一致性问题的了解

加深对约束条件在数据更新操作执行中的作用问题的了解

二、试验内容

方法一:在SSMS中插入、删除及修改数据,

方法二:在查询编辑器中写SQL插入、删除及修改数据

三、试验任务

设有一个SPJ数据库,包括S,P,J,SPJ四个关系模式:S(SNO,SNAME,STATUS,CITY)

P(PNO,PNAME,COLOR,WEIGHT)

J(JNO,JNAME,CITY)

SPJ(SNO,PNO,JNO,QTY)

供应商表S由供应商代码(SNO)、供应商姓名(SNAME)、供应商(STATUS)、供应商所在城市(CITY)组成;

零件表P由零件代码(PNO)、零件名(PNAME)、颜色(COLOR)、重量(WEIGHT)组成;

工程项目表J由工程项目代码(JNO)、工程项目名(JNAME)、工程项目所在城市(CITY)组成;

供应状况表SPJ由供应商代码(SNO)、零件代码(PNO)、工程项目代码(JNO)、供应数量(QTY)组成,表示某供应商供应某种零件给某工程项目的数量为QTY。试完成以下操作:

1.在S表中插入元组“s6,华誉,40,广州〞2.在J表中插入元组“j8,传感器厂〞

3.对每一个供应商,求他为各种工程供应零件的总数量,并将此结果存入数据库4.将P表中PNO值为p6的元组的color属性值改为绿,weight属性值改为605.将SPJ表中前4个元组的qty属性值统一修改为300

6.将S表中city属性名含有“京〞或“津〞的相应status属性值增加100

7.将供应商s2为“一汽〞工程项目所供应的零件数量修改为20008.将全部红色零件的颜色修改为浅红色9.由s5供给j4的零件p6改为由s3供应

10.在SPJ表中新增一名为SDATE的属性列,对该表中的每一元组在SDATE属性列上填

上试验当时的日期和时间

11.删除所在城市为“广州〞的供应商记录

12.删除所有零件名称中第一个字为“螺〞字的零件记录,并在供应状况表中删除相应的记录

13.删除s3和s4两供应商为“三建〞工程供应“螺母〞或“螺丝刀〞零件的相应供应状况数据信息

四、试验报告要求

1、写出与上述任务相对应的SQL更新语句(试验报告上写出3、5、10的SQL语句)2、并记录在试验过程中遇到的问题、解决方法及心得体会。

试验3数据完整性和安全性管理

3.1数据完整性管理

一、试验目的

?把握域完整性的实现方法。?把握实体完整性的实现方法。?把握参照完整性的方法。

二、试验内容

数据库的完整性设置。

三、试验步骤

?可视化界面的操作方法:?实体完整性

1.将student表的“sno〞字段设为主键:在表设计界面中,单击左边的行选定块,选

定“sno〞字段,单击工具按钮

设置主键。如图1所示:

图1

1.将“sc〞表的“sno〞和“cno〞设置为主键:在表设计界面中,单击并按住Ctrl键

拖动左边的行选定块,选定sno和cno字段,单击工具按钮所示:

设置主键。如图2

图2

?域完整性3.将“ssex〞字段设置为只能取“男〞,“女〞两值:在表设计界面,点击鼠标右键——CHECK约束,——添加约束,添加CK_student_sex名称,然后在约束表达式框中输入“ssexin('男','女')〞。如图3所示。

图3

?参照完整性

4.将“student〞表和“sc〞表中的“sno〞字段设为参照:开启“sc〞表的设计界面,点击工具栏按钮

,在弹出的属性(properties)对话框中点击“新建〞按钮,在“主键表(Primarykey

table)〞下拉框中选择“student〞表,在其下的字段选择框中选择“sno〞,在“外键表(Foreign

keytable)〞下拉框中选择“sc〞表,在其下的字段选择框中选择“sno〞,单击关闭即可。见图4。

图4

?命令方式操作方法:

?实体完整性

1.将“student〞表的“sno〞字段设为主键:当“student〞表已存在则执行:

altertablestudentaddconstraintpk_snoprimarykey(sno)当“student〞表不存在则执行:

Createtablestudent(snoCHAR(5)primarykey,

snameCHAR(10)NOTNULL,ssexCHAR(2),sageint,

sdeptCHAR(4))

注:可用命令“droptablestudent〞删除“student〞表

2.添加一身份证号字段,设置其惟一性.(注:操作前应删除表中的所有记录)Altertablestudentaddidchar(18)unique(id)3.将“sc〞表的“sno〞和“cno〞设置为主键:当“sc〞表已存在则执行:

altertablescaddconstraintPK_SnoCnoprimarykey(sno,cno)当“sc〞表不存在则执行:

Createtablesc(snoCHAR(5),

cnoCHAR(2),

gradeINTNULL,

constraintPK_SnoCnoprimarykey(sno,cno))

?域完整性

4.将“ssex〞字段设置为只能取“男〞,“女〞两值:

所有程序->SQLServer2023->SQLServerManagementStudio

启动SQLServer2023数据库管理系统?连接成功后,右键你的实例,选择\属性\

?在\属性\窗口中,转到\安全性)项,在\服务器身份验证\中设置为\

Server和Windows身份验证模式\,确定,根据提醒,应当重新启动sql服务?然后执行下面的语句启用sa用户,同时清除sa的密码(能成功登陆后再根据你的需

要设置)

EXECsp_passwordnull,null,'sa'ALTERLOGINsaENABLE

?语句执行完成后,再用sa连接你的实例,应当就没有问题了.2.设置登录账户

?创立使用Windows身份验证(SQLServerManagementStudio)的SQLServer登

录名

??在SQLServerManagementStudio中,开启对象资源管理器并展开要在其中

创立新登录名的服务器实例的文件夹。

??右键单击“安全性〞文件夹,指向“新建〞,然后单击“登录名〞。??在“常规〞页上的“登录名〞框中输入一个Windows用户名。??选择“Windows身份验证〞。??单击“确定〞。

?创立使用SQLServer身份验证(SQLServerManagementStudio)的SQLServer

登录名

??在SQLServerManagementStudio中,开启对象资源管理器并展开要在其中

创立新登录名的服务器实例的文件夹。

??右键单击“安全性〞文件夹,指向“新建〞,然后单击“登录名〞。??在“常规〞页上的“登录名〞框中输入一个新登录名的名称。??选择“SQLServer身份验证〞。??输入登录名的密码。

??选择应当应用于新登录名的密码策略选项。寻常,强制密码策略是更安全的

选择。

??单击“确定〞。

试验6数据库设计综合应用

一、试验任务与要求

目的与任务:

1.把握数据库设计和实现的基本过程

2.把握数据库模式设计、分析和实现的方法3.了解数据库应用系统软件开发的一般过程。试验基本要求:

(1)学习相关的预备知识

(2)依照数据库设计与实现过程完成数据库的设计,应用程序的开发,上机调试、运行(3)写出课程设计报告

二、课程设计基础知识

数据库设计与实现的基本过程包括需求分析、概念结构设计、规律结构设计、数据库的物理设计以及数据库的实施和维护等内容。需求分析确定系统的数据需求和处理需求;概念结构设计通过对用户需求的综合、归纳和抽象,形成一个独立的概念模型;规律结构设计则将概念模型转换为具体的数据库管理系统所支持的数据模型;数据库的物理设计结合应用确定数据模型的存储结构和存取方式。在这些工作完成之后,就可以建立数据库并开始调试运行了,在数据库的运行过程中必需对其进行维护——包括数据库的备份与恢复、性能分析与改进等等。

1.概念结构设计——ER图

概念模型是用户需求的抽象,寻常用实体关系图(EntityRelationshipDiagram,即ER图)来表示。设计ER图的出发点是数据流图层次的选择,一般选择中层的数据流图作为分析设计的依据。在得到各个局部ER图后,需要将它们合并成一张总的ER图。首先是简单的合并,协调各个局部ER之间不一致的地方;然后再对得到总ER图消除冗余,可通过分析数据字典中数据项之间的规律关系加以消除。

2.规律结构设计——ER图向关系模型的转换

关系数据库的数据模型(即关系模型)由一组关系模式组成,因而ER图向关系模型的转换实际上就是将实体(包括实体的属性)和联系转换为关系模式,一般遵循以下基本原则:1.一个实体型转换为一个关系模式。实体的属性就是关系的属性,实体的码就是关系的码。

2.一个1:X(X为1或n)联系寻常与某一端的关系模式合并,其中1:n的联系需要与n端对应的关系模式合并。需要在合并的关系模式的属性中参与另一个关系模式的码和联系本身的属性。

3.一个m:n联系转换为一个关系模式。与该关系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

4.三个或三个以上实体间的一个多元联系可以转换为一个关系模式。与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体的码的组合。

5.具有一致码的关系模式可合并。3.数据库设计过程

óó|?Dè?ó¨ê£y?Y?¢′|í£à?×??a??ò?¢DBMS?|?ü?¢??óˉ·?·¨Dè?óê??ˉoí·???éè???????á11éè?????-?á11???-éè???×??êy?Y?£Díó??ˉ??2úòaéè????àí?á11?à?íéè???×???à??éè??£?D??ü2aê???àíêμ????2úòaê??éD???DDê1ó??¢???¤êy?Y?ay?êY?a??D?¢???¤×???y?êY?aêμê??×??è?Dó·????×????·?éè???×??óó|?òa?ó£?DBMS?ê?·ì×??

设计描述设计阶段数据需求分析数据字典、全系统中数据项、数据流、数据存储处理数据流图和判定表、数据字典中处理过程的描述系统说明书。包括:(1)新系统要求、方案和概图(2)翻印新鲜系统信息流的数据流图系统结构图(模块结构图)概念结构设计概念模型(E-R)图,数据字典某种数据模型如关系模型规律结构设计关系物理设计存储安排、存储方法选择、存储路径建立模块设计、IPO图实施阶段编写模块、装入数据、数据库试运行程序编码、编译联接、测试运行、维护性能检测、转储/恢复、数据库重组和重构新旧系统转换、运行、维护(修正性、适应性、改善性维护

三、课程设计题目及进度安排

建议6--8人一组建立开发团队。开发团体组织架构和职责:

组长:1人

负责本开发项目的组织与实施,协调团队各成员的开发进度,负责本开发项目的需求分析,负责课程设计报告文档的组织。

数据库分析员:1人

负责数据库的概念结构设计、规律结构设计、应用系统功能模块设计,编写相关文档。用户界面设计员:1人

负责本开发项目的用户交互界面设计,编写相关文档。程序员:3-5人

负责本开发项目的程序设计,编写相关文档。测试员:1人

负责本开发项目的程序测试,编写相关文档。课程设计题目:

每个开发团队分别选择一个题目完成课程设计,可以从以下题目中选择,也可以自定题目。1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论