




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西 安 邮 电 大 学(计算机学院)课内实验报告实 验: 数据库及数据库中表的建立实验 课程:数据库系统原理与应用班 级:经济学1601班学号:学生姓名 :冯丹娜任课教师:樊珊SQL Server 2000管理工具的使用和创建数据库一、实验目的1. 熟悉SQL Server 2000的环境。2. 掌握企业管理器的基本使用方法,对数据库及其对象有基本了解,了解对SQL Server 2000进行配置的方法。3. 掌握查询分析器的基本使用方法以及在查询分析器中执行T-SQL 语句的方法。 4. 了解SQL Server 2000数据库的逻辑结构和物理结构。5. 学会在企业管理器中创建数据库及查看数据库属性。6. 学会使用T-SQL语句创建数据库。二、实验内容1. 学会使用企业管理器和查询分析器管理工具。2. 使用企业管理器创建数据库。创建一个教务管理数据库,名称为JWGL,数据文件的初始大小为20MB,文件增长方式为自动增长,文件增长增量设为5MB,文件的增长上限为500MB。日志文件的初始大小为10MB,文件增长增量设为1MB,文件的增长限制设为100MB。数据文件的逻辑文件名和物理文件名均采用默认值,分别为JWGL_data和d:Microsoft SQL ServerMSSQLdataJWGL_data.mdf;事务日志文件的逻辑文件名和物理文件名也采用默认值,分别为JWGL_log和d:Microsoft SQL ServerMSSQLdataJWGL_log.ldf。3. 在查询分析器中使用T-SQL语句创建数据库。创建一个名为Market的数据库(注意e盘下应存在sql_data目录)。CREATE DATABASE MarketON (NAME=Market_Data, FILENAME=e:sql_dataMatket_Data.mdf, SIZE=10, MAAXSIZE=50, FILEGROWTH=10%)LOG ON (NAME=Market_Log, FILENAME=e:sql_dataMarket_Log.ldf, SIZE=5, MAXSIZE=15, FILEGROWTH=10%);4. 使用T_SQL语句或企业管理器创建一个图书借阅管理数据库,数据库名为TSGL,数据文件和日志文件的初始大小、增长方式、文件的增长上限等均可采用默认值。5. 使用T-SQL语句或企业管理器创建第二章习题10的SPJ数据库,可以自行定义文件大小、增长方式。6. 查看物理磁盘目录,理解并分析SQL Server 2000数据库的存储结构。7. 使用企业管理器查看数据库属性。8. 使用T-SQL语句或企业管理器对于(2)(5)中建立的数据库进行修改和删除操作,并进一步查看物理磁盘目录。三、实验环境SQL Server 2008版本四、实验前准备电脑,课本,笔五、实验步骤及结果1. 使用企业管理器创建JWGL数据库2. 在查询分析器中使用T-SQL语句创建Market数据库3. 使用企业管理器创建TSGL数据库4. 使用企业管理器创建SPJ数据库5. 使用企业管理器查看数据库属性6. 使用T-SQL语句对于(2)(5)中建立的数据库进行修改和删除操作,并进一步查看物理磁盘目录六、评价分析及心得体会本次实验过程中,遇到了一些问题,但在老师的帮助指导下能顺利的完成试验任务,让我初步掌握SQL Server的多种实际操作。 通过这次实验,我能较好的掌握了SQL Server软件的基本用法。学会了多种创建数据库的方法,多种创建表的方法。并且学会了如何设置主键、约束条件等多种方法,也逐渐了解学习了对于创建数据库时,对数据类型设计的方法。SQL Server数据库的实验学习使我对数据库的有了新的基于事实的认识进步,让我有机会又学习到了一门新的技能。定义表和数据库完整性一、 实验目的(1) 了解SQL Server 2000的基本数据类型、空值的概念,以及表的结构特点。(2) 学会使用T-SQL语句和企业管理器创建表结构和修改表结构。(3) 学会使用SQL Server 2000提供的数据完整性功能,并在创建表时定义表的数据完整性。通过实验进一步理解数据完整性的概念及分类。二、实验内容(1)用企业管理器在教务管理数据库JWGL中创建学生表Student、课程表Course、学生选课表SC、它们的表结构如表B.1所示。表B.1 教务管理数据库的表结构学生表Student列名数据类型长度允许空值默认值说明Snochar8主键Snamevarchar10Sexchar2男只能“男”或“女”Agetinyint20只能1530Phonenumberchar12取值唯一Sdeptvarchar20课程表Course列名数据类型长度允许空值默认值说明Cnochar10主键Cnamevarchar20取值唯一Total_periortinyint64只能为32108Week_periortinyint4只能为27Credittinyint4只能是17Pcnochar10学生选课表SC列名数据类型长度允许空值默认值说明Snochar8主键,外键Cnochar10主键,外键Gradetinyint只能为0100(2)用T-SQL语句在Market数据库中创建客户基本信息表Customers、货品信息表Goods、订单信息表Orders,它们的定义如下CREATE TABLE Customers ( CustomerID int IDENTITY (1.1) PRIMARY KEY, Cname varchar (8) NOT NULL, Address varchar (50), City varchar (10), Tel varchar (20) unique, Company varchar (50), Birthday datetime, Type tinyint DEFAULT 1); CREATE TABLE GOODS ( GoodID int constraint c1 primary key, Goodsname varchar (20) not null, Price money, Description varchar (200), Storage int, Provide varchar (50), Status tinyint default (0)CREATE TABLE Orders ( OrderID int identity (1, 1) constrainy c2 primary key, Goodsid int not null references goods (goodsid) on delete cascade, Customerid int not null foreign key (customerid) REFERENCES Customers (customerid) on delete no action, Quantity int not null constaraint c3 check (quantity0), Ordersum money not null, Orderdate datetime DEFAULT (getdate ();(3)使用T-SQL语句在SPJ数据库中创建第二章习题10中的4张表:供应商表S、零件表P、工程项目表J和供应情况表SPJ,数据类型和长度自行设计,注意要同时定义主键、外键和其他的数据完整性。(4)使用T-SQL语句在图书借阅管理数据库TSGL中建立图书、读者和借阅3个表,其结构为 图书(书号,书名,类别,出版社,作者,定价,出版时间) 读者(借书证号,姓名,单位,性别,地址,电话号码) 借阅(书号,借书证号,借阅日期)要求为属性选择合适的数据类型,定义每个主键、外键,是否允许空值等数据完整性约束。三、实验环境SQL Server 2008版本四、实验前准备仔细预习实验内容,理解实验步骤,学习并熟悉内容。五、实验步骤及结果截图(1)使用企业管理器创建表 创建学生表Student 创建课程表Course 创建学生选课表SC(2)用T-SQL语句在Market数据库中创建客户基本信息表Customers、货品信息表Goods、订单信息表Orders:(4) 使用T-SQL语句在SPJ数据库中创建表:供应商表S、零件表P、工程项使用T-SQL语句在SPJ数据库中创建第二章习题10中的4张表:表S、零件表P、工程项目表J和供应情况表SPJ: (5) 使用T-SQL语句在TSGL中建立图书、读者和借阅3个表:六、评价分析及心得体会第一次接触SQL 这种工具,做实验时,遇到了好多问题,比如不知道如何查看物理磁盘目录、不会在一个表里设置两个主键、约束条件填写不全等等,通过这次试验,我觉得自己所了解的还是太少,如果深入的了解了SQL,那么也就不会出现诸如此类的问题了,而要想深入的了解,就应该勤加练习,只有熟能生巧,才可以解决问题。表数据的插入、修改和删除一、实验目的掌握使用T-SQL语句和企业管理器对数据表进行插入、修改和删除数据的操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。通过本实验,要熟练掌握INSERT、UPDATE、DELETE语句的语法和使用方法。二、实验内容1. 分别使用T-SQL语句和企业管理器,向数据库JWGL、数据库Market、数据库SPJ、数据库TSGL中的各张表输入一些(如10条)记录。2. 使用T-SQL语句进行插入、修改和删除记录的操作。(1) 插入数据时既要插入一些不违背数据完整性约束的记录,也要插入一些违背数据完整性约束的记录,观察插入后的结果,并利用相关知识解释此现象。在涉及参照完整性约束的参照表中插入数据时,理解系统是如何保证完整性的。(2) 修改数据时除使用正确数据外,也可以对修改后的新值使用一些违背数据完整性约束的数据,观察系统执行后的结果。另外进一步观察在涉及参照完整性约束的参照表和被参照表中修改数据时系统的执行情况,如果违背参照完整性那么观察结果。(3) 删除记录时一般不会出现问题,但要是在有参照完整性约束的被参照表中删除数据时也存在破坏完整性的情况。观察删除记录时系统的执行结果。三、实验环境SQL Server 2008版本四、实验前准备首先,了解对表数据的插入、删除、修改都属于表数据的更新操作。对表数据的操作可以在对象资源管理器中进行,也可以由T-SQL 语句实现。其次,要掌握T-SQL 中用于对表数据进行插入、修改和删除的命令分别是INSERT 、UPDATE 和DELETE 。五、实验步骤及结果截屏1.使用T-SQL语句和企业管理器,向数据库JWGL、数据库Market、数据库SPJ、数据库TSGL中的各张表输入记录。2.使用T-SQL语句进行插入、修改和删除记录七、评价分析及心得体会这次试验总体来说有些难度,有很多次新建查询时都没有执行成功,通过种种检查终于改正错误,执行成功。通过这次试验,掌握了数据的表数据的插入、修改和删除操作。数据库的简单查询和连接查询一、实验目的数据查询是数据库中最基本的操作,也是使用最频繁的操作,因此必须掌握SQL的查询语句( SELECT语句)的使用方法。本实验要求掌握简单表的数据查询、数据排序和多表操作时数据连接查询的操作方法。二、实验内容(1)简单查询操作。该实验包括投影、选择条件表达、数据排序等。在数据库JWGL中的学生表 Student、课程表 Course、学生选课表SC中完成第3章例3.10例3.28中例题的查询操作。在数据库 Market的客户表 Customers、货品表 Goods、订单表 Orders中完成第3章习题6中(1)(4)的查询。在数据库SPJ中的供应商表S、零件表P、工程项目表J、供应情况表SPJ中,用 SELECT语句完成第2章习题10中(1)(2)的查询。在数据库TSGL的图书、读者和借阅3个表中,用 SELECT语句完成以下查询:查询类别为“计算机”的所有图书信息;查询数据库方面的图书信息;查询2008-05-10到2008-07-10之间的借阅资料。(2)连接查询操作。该实验包括等值连接、自然连接、一般连接(内连接)、外连接、左外连接、右外连接和自然连接等。在数据库JWGL中的学生表 Student、课程表 Course、学生选课表SC中完成第3章例3.35例3.39中例题的查询操作。在数据库 Market的客户表 Customers、货品表 Goods、订单表 Orders中完成第3章习题6中(5)的查询。在数据库SPJ的供应商表S、零件表P、工程项目表J、供应情况表SPJ中,用 SELECT查询语句完成第2章习题10中(3)的查询。在数据库TSGL的图书、读者和借阅3个表中,用 SELECT语句完成以下查询:查询借书者的借书证号、姓名、单位、所借书号、书名和借阅日期。三、实验环境SQL Server 2008版本四、实验前准备电脑,课本,笔五、实验步骤1. 查询全体学生的学号,姓名和所在系的有关信息。SELECT Sno, Sname, SdeptFROM Student;2. 查询全体学生的所有信息SELECT*FROM Student;3. 对于上例中,在 SELECT语句中可以指定一个字符常量,在查询结果中的年龄前显示“ Year of Birth。SELECT Sname, Year of Birth , 2008-ageFROM Student;4. 对于例3.12,可以为出生年份指定一个别名 Birthday。SELECT Sname, 2008-age BirthdayFrom Student;5. 查询学生的学号,姓名和所在系SELECT Sno, Sname, LOWER(Sdept)FROM Student6. 在SC表中查询所有选了课程的学生的学号,并消除重复的学号。SELECT DISTINCT SnoFROM SC;7. 查询算机系的所有学生的学号和姓名。SELECT Sno, SnameFROM StudentWHERE Sdept=CS;8. 查询考试成绩不及格的学生的学号。SELECT SnoFROM SCWHERE Grade609. 查询年龄在2023岁之间的学生的姓名,所在系和性别。SELECT Sname, Sdept, SexFROM StudentWHERE Sage BETWEEN 20 AND 2310. 查询计算机系、数学系和信息系的学生姓名和年龄。SELECT Sname, SageFROM StudentWHERE Sdept IN (CS, MA,IS);11. 查询既不是数学系也不是计算机系的学生姓名和性别。SELECT Sname, sageFROM StudentWHERE Sdept NOT IN ( MA, CS);12. 查询信息系所有学生的情况。SELECT*FROM StudentWHERE Sdept LIKE IS;13. 查询所有姓张的、第3个字为“伟”的学生的姓名,学号和性别SELECT Sname, Sno, SexFROM StudentWHERE Sname LIKE 张_伟% ;14. 查询 DB_Design课程的课程号及学分。SELECT Cno, CreditFROM CourseWHERE Cname LIKE DB design ESCAPE ;15. 查询没有考试成绩的学生的学号及相应的课程号。SELECT Sno, CnoFROM SCWHERE Grade IS NULL;16. 查询计算机系年龄在20岁以下的学生的学号、姓名、性别SELECT Sno, Sname, SexFROM StudentWHERE Sdept=CS AND Sage20;17. 查询选修了1号课程的学生的学号及成绩,查询结果按成绩的降序排序。SELECT Sno, GradeFROM SCWHERE Cno=1ORDER BY Grade DESC18. 查询全体学生情况,查询结果按所在系的升序排序,同一系中的学生按年龄降序排序。SELECT *FROM StudentORDER BY Sdept, Sage DESC;19. 查询每个学生及其选修课的情况。SELECT Student, SC.FROM Student, scWHERE Student Sno a SC Sno: 六、实验结果七、评价分析及心得体会此次试验使我更加掌握了SQL的查询语句的使用方法,包括掌握简单表的数据查询、数据排序和多表操作时数据连接查询的操作方法。数据库的复杂查询一、实验目的进一步掌握 SELECT语句的使用方法,通过实验能够熟练地使用 SELECT语句。本实验要求掌握嵌套查询和统计查询的操作方法。二、实验内容(1)在数据库JWGL的学生表Student、课程表Course、学生选课表SC中完成第3章例3.40例3.47中的查询操作。(2)在数据库 Market的客户表 Customers、货品表 Goods、订单表 Orders中完成第3章习题6中(6)(9)的查询。(3)在数据库SPJ中的供应商表S、零件表P、工程项目表J、供应情况表SPJ中,用 SELECT查询语句完成第2章习题10中(4)(5)的查询。(4)在数据库TSGL的图书、读者和借阅3个表中,用 SELECT语句完成以下查询。查询人民邮电出版社出版的各类图书的平均价格。SELECT类别,AVG(定价)平均价FROM图书WHERE出版社=人民邮电出版社GROUP BY类别ORDER BY类别ASC使用嵌套查询完成查询借了书的读者信息。统计目前借了书的读者人数。统计过期未还书的图书册数。三、实验环境SQL Server 2008版本四、实验前准备电脑,课本,笔五、实验步骤及结果1.查询选修了1号课程的学生的姓名2.查询其他系中比计算机系某一学生年龄小的学生姓名和年龄。3.在数据库 Market的客户表 Customers、货品表 Goods、订单表 Orders中完成第3章习题6中(6)(9)的查询。(1)查找订单编号,商品编号,客户编号,按日期对订单分组,显示订货数量不超的订单信息(2)查找所有西安客户的订单信息,要求用不相关子查询完成3. 在数据库TSGL的图书、读者和借阅3个表中,用 SELECT语句完成查询:六、评价分析及心得体会此次实验学会了嵌套查询和统计查询的基本操作方法。结合老师上课讲的内容,再在计算机上操作一遍,加强掌握了所学的数据库知识,为以后更深入的去学习数据库奠定了基础。索引和视图一、实验目的(1)理解索引和视图的概念(2)掌握索引的使用方法(3)掌握视图的定义和使用方法。二、实验内容 (1)建立索引。对JWGL数据库的学生选课表SC建立索引,要求按照Cno升序、Grade降序建立一个名为 SC_ind的索引。USE JWGL IF EXISTS (SELECT name FROM sysindexes WHERE name = SC ind ) DROP INDEX SC. SC ind; GO USE JWGL CREATE INDEX SC_ind ON SC( Cno, Grade DESC);(2)视图的定义和操作。在JWGL数据库中,完成第3章例3.54例3.61例题中视图的定义和视图上的查询、更新操作。在 Market数据库中,完成第3章习题11中(1)的建立视图的操作,然后在该视图上完成第3章习题11中(2)的查询操作。三、实验环境SQL Server 2008版本四、实验前准备电脑,课本,笔五、实验步骤及结果1. 建立一个名为 SC_ind的索引2.在JWGL数据库中完成操作(1)建立计算机系学生的视图,并要求进行行修改和插入操作时需保证该视图只能对计算机系的学生进行操作(2)例3.55建立选择了2号课程且成绩在80分以上的学生视图。(3)建立一个反映学生出生年份的视图。 3.在Market数据库中,完成查询操作。六、评价分析及心得体会通过本次实验,我不仅理解了索引和视图的概念,并且掌握了索引的使用方法,最后,掌握视图的定义和使用方法。虽然实验有所难度,但是我通过自己的努力坚持将实验做完,尽管中间有许多困难和错误,我还是从中收获了许多。存储过程一、实验目的理解存储过程的概念,掌握存储过程的使用方法。二、实验内容存储过程是一系列预先编译好的、能实现特定数据操作功能的SOL代码集,它与特定的数据库相关联,存储在服务器上。创建用户自定义存储过程既可以在查询分析器中用SQL语句完成,也可以用企业管理器完成。在企业管理器中书写存储过程时,是在“新建存储过程”对话框中的“文本”框中输入创建存储过程的SQL语句。(1)在数据库JWGL中,完成第4章例1、例37中例题的创建存储过程的操作,并使用EXEC语句调用这些存储过程执行,观察他们的执行结果。(2)在 Market数据库中,完成第4章习题5中(1) (4)创建存储过程的操作。并使用EXEC语句调用这些存储过程执行,观察他们的执行结果。(3)在 Market数据库中,进一步完成以下操作。 创建一个存储过程 Goods_Orders 1,查看任何指定货品的订单情况,包括订单号、订货客户的姓名以及订货数量等(要使用输入参数) 执行存储过程 Goods_Orders 1时,如果没有给出参数,则系统会报错,如果希望不给出参数时能查出所有货品的订单,则可以用默认参数值来实现。为此要求创建另一个存储过程Goods_Orders2来完成此功能。 创建一个存储过程 Goods_OrderSum,来获得某个货品的订单总额(要使用输入以及输出参数)三、实验环境SQL Server 2008版本四、实验前准备电脑,课本,笔五、实验步骤及截屏(1)在数据库JWGL中操作(2)在 Market数据库中操作。(3)在 Market数据库中,进一步完成以下操作。六、评价分析及心得体会通过本次实验,首先理解了存储过程的概念,掌握了存储过程的使用方法。但是在实验过程中也存在着许多问题,一定要勤加练习才可补拙。触发器一、实验目的学习触发器的使用,体会触发器执行的时机,加深对触发器功能和作用的理解。二、实验内客触发器是一种实施复杂数据完整性的特殊存储过程。在对表或视图执行 INSERT、 UPDATE或DELETE语句时自动触发执行,以防止对数据进行不正确、未授权或不一致的修改。它不可以像调用存储过程一样由用户直接调用执行。创建触发器可以在查询分析器中用SQL语句完成,也可以用企业管理器完成。在企业管理器中书写触发器时,通过右键单击创建触发器的表。在弹出的快捷菜单中依次选择“所有任务”“管理触发器”命令。就打开“触发器属性”对话框,然后在该对话框的“文本”框中输入创建触发器的SQL语句。(1)在数据库JWGL中,完成第4章例813中例题的创建触发器的操作,然后在相关的表上执行INSERT、 UPDATE或 DELETE语句,观察他们的执行结果。(2)在Market数据库中,完成第4章习题5中(5) (9)创建触发器的操作,然后在相关的表上执行INSERT、UPDATIE或 DELETE语句,观察他们的执行结果。三、实验环境SQL Server 2008版本四、实验前准备电脑,课本,笔五、实验步骤及截屏1.在JWGL数据库中完成操作。2. 在Market数据库中完成操作。六、评价分析及心得体会本次实验我学习了触发器的使用,体会了触发器执行的时机,加深了对触发器功能和作用的理解。但是以后还得多加练习以便达到对数据库各项操作的熟练应用。数据库的安全性一、实验目的(1)理解 SOL Server2000验证用户身份的过程,掌握设置身份验证模式的方法。(2)理解登录账号的概念,掌握混合认证模式下登录账号的建立与取消方法。(3)掌握混合认证模式下数据库用户的建立与取消方法。(4)掌握数据库用户权限的设置方法。(5)理解角色的概念,掌握管理角色技术。二、实验内容数据库的安全性主要是用户管理和权限管理。在A.5节中介绍了 SQL Server的安全性管理,复习其内容,并完成以下实验。(1)在企业管理器中打开“SQL Server属性(配置)”对话框,设置身份验证模式为“SQL Server和 Windows”模式(即混合模式)在A5节中已经介绍,一个用户要访问 SQL Server2000数据库中的数据,他必须要经过3个认证过程。第一,验证用户连接到 SQL Server2000数据库服务器的资格;第二、验证对具体数据库的访问权;第三,验证用户是否具有对所操作对象的操作权。理解和体会这一认证过程。(2)创建、管理数据库服务器的登录账号用T-SQL语句创建、查看、删除登录账号。 创建一个名为 student、密码为111、使用的默认数据库为JWGL的登录账号。exec sp_addlogin student,111, JWGL查看登录账号为EXEC sp_helplogins删除登录账号为 EXEC sp_droplogin student在企业管理器中使用A.5.2节中介绍的方法创建一个登录账号。(3)创建、管理数据库用户。用户是基于数据库的名称是和登录账号相关联的。只有DBA和数据库所有者才有执行系统存储过程 sp_granddbaccess的权力。用T-SQL语句创建、查看、删除数据库用户。为数据库JWGL创建一个用户 user1,该用户登录 SQL Server服务器的账号为wang,登录密码为 secret,写出相应的程序代码为EXEC sp_addlog
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德州市模拟考试速写题及答案
- 天水市语文中考试题及答案
- 2025年公需课《生产安全事故应急条例》考试题及答案
- 2025年高压电工操作证理论考试笔试试题含答案
- 2025年高级电工试题库(有答案)
- 锦州物理中考试题及答案
- 衡阳公共食堂管理办法
- 贷款管理办法修订通知
- 专家评审技术管理办法
- 产品影像资料管理办法
- 2025企业销售人员劳动合同
- 2025年甘肃省工会系统招聘工会工作者183人考试参考试题及答案解析
- 2025江苏宿迁沭阳县司法局招聘人民调解员1人备考试题及答案解析
- 白内障手术培训课件
- 西藏朗县2025年上半年公开招聘村务工作者试题含答案分析
- 科学版(2024)一年级全一册体育与健康全册教案(表格式)
- 2025年高一上学期开学第一课主题班会课件
- GB/T 17642-2025土工合成材料非织造布复合土工膜
- 回族做礼拜的念词集合6篇
- 《全面质量管理》习题集
- 地铁第三方检测技术要求(共30页)
评论
0/150
提交评论