ImageVerifierCode 换一换
格式:DOCX , 页数:29 ,大小:927.92KB ,
资源ID:5495242      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5495242.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据库系统概论.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

数据库系统概论.docx

1、数据库系统概论数据库系统概论实验指导书实验一 数据库服务器的连接及数据库的建立1.1实验名称:数据库服务器的连接及数据库的建立1.2实验类型:验证型1.3实验学时:3h1.4实验目的:了解连接数据库服务器的身份验证模式,熟悉样例数据库。掌握DBMS中利用界面进行建库建表操作。1.5实验准备:1.5.1 数据模型数据模型由三个要素组成:数据结构、数据操作和完整性约束。1、数据结构数据结构用于描述系统的静态特性,是所研究的对象类型的集合。数据模型按其数据结构分为层次模型、网状模型和关系模型。2、数据操作数据操作用于描述系统的动态特性,是指对数据库中各种对象的实例允许执行的操作的集合,包括操作及有关

2、的操作集合。3、数据的约束条件数据的约束条件是一组完整性规则的集合。完整性规则是给定的数据及其联系所具有的制约和存储规则,用以限定符合数据库状态以及状态的变化,以保证数据的正确、有效和相容。1.5.2 数据库系统的三级模式结构数据库系统的三级模式结构是指数据库系统是由外模式、模式和内模式三级组成。1、外模式。外模式也称子模式或用户模式,它是数据库用户(包括应用程序员和最终用户)看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑表示。一个数据库可以有多个外模式。2、模式。模式也称逻辑模式,是数据库中全体数据的逻辑结构和特征的描述,是所有用户的公用数据

3、视图。一个数据库只有一个模式。3、内模式。内模式也称存储模式,它是数据物理和存储结构的描述,是数据在数据库内部的表示方式。一个数据库只有一个内模式。1.5.3 DBMS的功能1、数据定义数据定义包括定义构成数据库结构的外模式、模式和内模式,定义各个外模式与模式之间的映射,定义模式与内模式之间的映射,定义有关的约束条件(例如,为保证数据库中数据具有正确语义而定义的完整性规则,为保证数据库安全而定义的用户口令和存取权限等)。2、数据操纵数据操纵包括对数据库数据的检索、插入、修改和删除等基本操作。3、数据库运行管理对数据库的运行进行管理是DBMS运行时的核心部分,包括对数据库进行并发控制、安全性检查

4、、完整性约束条件的检查和执行、数据库的内部维护(如索引、数据字典的自动维护)等。所有访问数据库的操作都要在这些控制程序的统一管理下进行,以保证数据的安全性、完整性、一致性以及多用户对数据库的并发使用。4、数据组织、存储和管理数据库中需要存放多种数据,如数据字典、用户数据、存取路径等,DBMS负责分门别类地组织、存储和管理这些数据,确定以何种文件结构和存取方式物理地组织这些数据,如何实现数据之间的联系,以便提高存储空间利用率以及提高随机查找、顺序查找、增、删、改等操作的时间效率。5、数据库的建立和维护建立数据库包括数据库初始数据的输入与数据转换等。维护数据库包括数据库的转储与恢复、数据库的重组织

5、与重构造、性能的监视与分析等。6、数据通信接口DBMS需要提供与其他软件系统进行通信的功能。例如,提供与其他DBMS或文件系统的接口,从而能够将数据转换为另一个DBMS或文件系统能够接受的格式,或者接收其他DBMS或文件系统的数据。1.6实验内容1.6.1熟悉网络环境和数据库环境数据库服务器: 操作系统:Windows 2000 Advanced Server IP地址:192.168.0.99 数据库管理系统:Microsoft SQL Server 2000 服务器名称:servernet客户机: 操作系统:Windows 2000 Professional IP地址:192.168.0.

6、X Microsoft 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 密码:无2、创建数据库sql语句: 执行结果:3、身份验证模式:在安装Sql Server 2000过程中,出现身份验证对话框,提示选择身份验证模式。Windows身份验证模式或混合模式(Wind

7、ows身份验证和SqlServer 身份验证)并提示添加sa用户登录密码(一般选中空密码)。安装完SQL后,打开企业管理器,逐级展开节点到安全性|登录,在右边视图中可以看到登录的用户名称,右击sa用户,打开属性,弹出属性对话框,可以看到当前用户的身份验证模式。4、体会DBMS的三层模式结构:(以理解为主)从数据库管理系统角度看,数据库描述由三级抽象模式组成:概念模式(逻辑模式)、物理模式(内模式)和外模式;从数据库最终用户角度看,数据库系统的结构分为单用户结构、主从式结构、分布式结构和客户/服务器结构。概念模式体会:打开任意所建立数据库,选择一个表,右击设计表,打开设计表框。这里描述了存储的数

8、据的属性和实体及实体关系。物理模式:描述存储细节。外模式:视图和来自概念模式的关系组成。5、安装Sql Server 2000后,安装程序将在所创建的数据库实例中创建数据库和日志文件。Master、Model、Msdb和Tempdb都是系统数据库。其中Master主要用于通过跟踪诸如用户帐户、可配置环境变量和系统错误信息,控制用户数据库和SQL Server的整体运行情况;Model主要用于为新的用户数据库提供模板或原型;Msdb主要用于为调度信息和作业历史提供存储区域;Tempdb主要用于为临时表或其他临时工作区提供存储区域。Pubs 和Northwind 示例数据库作为学习工具提供。我们提

9、供基于样例数据库Northwind的一些操作。打开企业管理器|数据库Northwind。Northwind示例数据库包含了一个名为Northwind Traders的虚构公司的销售数据,打开表,可以看到该数据库包括了Categories、Customers等13张用户表和Alphabetical list product 、Category Scale for 1997等16张视图。可以任意打开用户表查看信息。1.6.2数据库、表的建立1.6.2.1数据字典(一)表名(具体建表时,首先创建自己的数据库(数据库已经建立按班级分别kt773-1和kt773-2),表名用班级号_学号_姓名_表名的方

10、式命名,如kt1_01_张三_department,学生学号一律使用2位数)表名含义Department院系Class班级Student学生Course课程Grade成绩(二)表结构1、Department表1-1 Department表结构字段名数据类型字段含义约束Dept_ID Decimal院系编号Primary KeyDepartment varChar(50)院系名称Not NullAbbreviation varChar(10)院系简称Phone varChar(50)联系电话Director varChar(50)院系主任No_ClassDecimal班级数Not Null De

11、fault 02、Class表1-2 Class表结构字段名数据类型字段含义约束Class_IDChar(7)班级编号Primary KeyDept_ID Decimal院系编号Foreign KeyClass varChar(30)班级名称Not NullAbbreviation varChar(20)班级简称MonitorvarChar(24)班长Degree varChar(4)学历层次Not Null 大专、本科、硕士、博士Enroll_DateDecimal入学年度Not NullNo_StudentDecimal学生数Not Null Default 03、Student表1-3

12、Student表结构字段名数据类型字段含义约束Student_IDvarChar(9)学号Primary KeyClass_IDChar(7)班级编号Foreign KeyName varChar(24)姓名Not NullGender varChar(2)性别男,女BirthdayDatetime出生日期AddressvarChar(50)家庭地址Zip_CodeDecimal家庭邮编HouseholderVarchar(50家长姓名4、Course表1-4 Course表结构字段名数据类型字段含义约束Course_ID varChar(8)课程编号Primary KeyCoursevarC

13、har(50)课程Not NullCredit Decimal学分PeriodDecimal学期Practice_periodDecimal实习5、Grade表1-5 Grade表结构字段名数据类型字段含义约束Student_IDvarChar(9)学号Foreign KeyPrimary KeyCourse_ID varChar(8)课程编号Foreign KeyGradeDecimal成绩Not Null1622创建数据库1打开企业管理器:开始-程序-Microsoft SQL Server 2000- 企业管理器出现如下画面:图1-1 启动Microsoft SQL Server 200

14、0企业管理器图1-2 打开Microsoft SQL Server 2000企业管理器2添加新表:(1) 方法一图1-3-1 添加新表(2)方法二图1-3-2 添加新表3定义表结构:图1-4 定义表结构4定义表之间的关系和关系图图1-5 定义关系图5.输入表中的记录:(每个表最少5条记录,其中一条是与自己相关的真实记录)图1-6 打开表5添加记录:图1-7 添加记录1.7思考题:1、 从用户角度看,数据库系统都有哪些体系结构?2、 数据库管理系统通常由哪几部分组成?3、 如何用SQL语句完成上述的工作?实验二 简单SQL查询及数据库多表查询2.1实验名称:简单SQL查询及数据库多表查询2.2实

15、验类型:验证型2.3实验学时:3h2.4实验目的:通过本章的学习,用户将能够:1掌握向表中添加数据的方法2掌握如何快速的把一个表中的多行数据插入到另一个表中3掌握更新表中多行数据的方法。4学会如何删除表中的一行数据5学会如何删除表中的所有行6掌握SELECT语句的基本用法7使用WHERE子句进行有条件的查询8掌握使用IN, NOT IN,BETWEEN来缩小查询范围的方法9利用LIKE 子句实现模糊查询 ,利用ORDER子句为结果排序 10学会用SQL SERVER 的统计函数进行统计计算 11掌握用GROUP BY 子句实现分组查询的方法。12掌握多表查询的技术和嵌套查询的方法。2.5实验准

16、备:1、 常用的统计函数: sum() 返回一个数字或计算列的总和 avg() 对一个数字列或计算求列平均值 min() 返回一个数字或一个数字表达式的最小值 max() 返回一个数字或一个数字表达式的最大值 count() 返回满足SELECT语句中指定条件的记录的值 count(*) 返回找到的行数注意:对于以下类型的数据values值不用使用引号1、整型数据类型:bit,int,smallint,tinyint2、货币数据类型:money,smallmoney3、数字数据类型:decimal,numeric4、浮点类型数据:real,float5、简单的日期/时间类型数据:datetim

17、e,smalldatetime 对于以下数据类型就要对values值加单引号1、字符数据类型:char,varchar,text2、复杂的日期/时间类型数据:datetime,smalldatetime 2、常用SQL语句语法添加语句:INSERT INTO table_or_view (column_list) data_values删除语句:DELETE FROM table_name WHERE search_condition 更新语句:UPDATE table_name SET column_name = expression | DEFAULT | NULL ,.n FROM ta

18、ble_name ,.n WHERE searchcondition查询语句:SELECT select_list FROM table_source WHERE search_condition GROUP BY group_by_expression HAVING search_condition ORDER BY order_expression ASC | DESC 2.6实验内容:2.6.1 操作一:INSERT(插入)1、首先检查表结构:图2-1 输入检查表结构的语句注意:(1)表名称不能以数字开头 (2)sp_help语句只能一次执行一句,不能批量执行2、单条语句插入样例:请同学

19、们自行练习使用单条SQL语句给自己的各个表进行插入图2-2 各表插入语句样例2.6.2 操作二:UPDATE(更新)1、 在student表中,GENDER(性别),BIRTHDAY(出生日期),ADDRESS(家庭地址),ZIP_CODE(家庭邮编),HOUSEHOLDER(家长姓名)均不正确或为空值,请将自己以上的准确信息更新到自己的数据库中,同时更新到同班同学的其它数据库中。注意更新前要看相关表中该条数据是否正确添加。图2-3 用update更新student表中自己的信息2、查询你的数据库中同班其他同学的信息是否已更新。3、执行以下更新在department表中,no_class(班级

20、数)均不正确或为空值,请根据class表中每个学院实有班级数目更新department表中的no_class,例如:4、执行以下更新在class表中,no_student(学生数)均不正确或为空值,请根据student表中每个班级实有学生人数更新class表中的no_student。注意:请将class表中的abbreviation属性各记录内容补充完整。2.6.3 操作三:DELETE(删除)请从student表中删除一个student_id=994631225的记录(注意:确保student表和grade表中有与学生994631225有关的数据):为什么会出现以下的结果?图2-4 删除st

21、udent表中的一条记录假若删除的是你自己的学号可以吗?为什么?2.6.4 操作四:SELECT(查询)1.掌握SELECT语句的基本用法 图2-5 SELECT语句的基本用法2、查询你的各个表中所有的记录数目 图2-6 SELECT语句中count()函数的用法3、 查询平均成绩(用avg()函数) 图2-7 SELECT语句中avg()函数的用法4、 查询某班级所有同学的平均成绩,查询输出以别名:学号,姓名,平均成绩;并按平均成绩由高到低排序(用到order by) 图2-8 SELECT语句中函数以及复杂子句的用法5、 查询没有成绩记录的学生,查询输出:学号,姓名、的在班级简称。 图2-

22、9 SELECT语句中not in的用法6、 查询某学生的各课成绩(注意确保该学生有课程成绩),结果格式如下:图2-10 用SELECT语句查询自己的成绩7、 查询某班两门及两门以上课程不及格的学生,查询输出:学号,姓名、不及格课程数量(注意保证有满足条件的记录)。图2-11 用SELECT语句查询多门课程不及格的学生8、 查询某班男生人数。图2-12 用SELECT语句查询男生人数9、 查询某班女生人数。图2-13 用SELECT语句查询女生人数10、查询班级Class_ID like 04%的班级。 图2-14 用SELECT语句查询班级编号11、请查询输出:班级编号,班级名称,男生,女生

23、。 图2-15 SELECT语句中CASE语句的用法112、请查询输出:班级编号,班级名称,男生,女生,合计。 图2-16 SELECT语句中CASE语句的用法213、执行以下查询,解释该查询的含义图2-17 解释SELECT语句2.7思考题1.如何使用UNION子句,它必须符合哪两条基本准则?2.怎样把STUDENT表中前10个数据ADDRESS列的数据更改为新疆。实验三 视图、索引、存储过程和触发器的使用3.1实验名称:视图、索引、存储过程和触发器的使用3.2实验类型:验证型3.3实验学时:3h3.4实验目的:1.掌握视图的概念和使用方法;2.掌握索引的概念和使用方法;2.掌握存储过程的概

24、念和使用方法;3.掌握触发器的概念和使用方法;3.5实验准备:1.了解视图的概念和作用;2.掌握视图相关的命令;3.了解索引的作用与分类;4.掌握索引的创建方法;5.理解数据完整性的概念及分类;6.了解各种数据完整性的实现方法;7.了解存储过程的使用方法;8.掌握存储过程的调用方法;9.了解触发器的使用方法;3.6实验内容:3.6.1 视图1.创建视图(1)在STUDENT表中,为信息管理及信息系统022班建立视图V1_STU,在查询分析器中输入下列语句:图3-1 创建视图V1_STU思考与练习:1)在STUDENT表中,为计算机科学与技术021建立视图SV1_STU。2)在TUITION表中

25、,为第五学年缴全额学费(3500)的学生建立视图SV2_TUI。(2)创建V3_STU_COU视图,包括学号,课程号,课程名,成绩,要保证对该视图的修改都要符合班为信息管理及信息系统022班这个条件:图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分以上的学生的

26、学号和平均分数:图3-4 创建并查询视图V4_AVG思考与练习:统计信管992班平均成绩在80分以上的学生的个数。3.更新视图可更新视图满足以下条件:A)创建视图的SELECT语句中没有聚合函数,且没有TOP、GROUP BY、UNION子句及DISTINCT关键字。B)创建视图的SELECT语句中不包含从基本表列通过计算所得的列。C)创建视图的SELECT语句的FROM子句中至少要包含一个基本表。(1)向V1_STU插入一条记录(024631267,0246312,刘明仪,男,1982-3-2,NANCHANG ROAD 42# ,830052,刘林):图3-5 通过视图V1_STU插入表数

27、据思考与练习:向SV1_STU视图插入一条记录。注:1)当视图所依赖的基本表有多个时,不能向该视图插入数据.2)向可更新的分区视图中插入数据时,系统会按照插入记录的键值所属的范围,将数据插入到其键值所属的基本表中。(2)将信管992班中学号为994631209的学生的14110003课程成绩改为90分:图3-6 通过视图V5_STU更新表思考与练习:将V2_STU班中性别为男的值改为女。(3)删除V2_STU中女同学的记录:图3-7 通过视图V2_STU删除记录思考与练习:删除SV3_STU_CLA中,班号为0246312的记录。4.修改视图定义(1)将V1_STU修改成只包含信息管理及信息系

28、统022班的学号和姓名:思考与练习:将SV3_STU_CLA修改成只包含学号,班号,学院号。(2)删除V4_AVG视图图3-8 删除视图V4_AVG思考与练习:删除SV3_STU_CLA视图。3.6.2索引1.对STUDENT表的STUDENT_ID列建立索引,在查询分析器编辑窗口中输入下列程序并执行:图3-9 对STUDENT表建立索引思考与练习:为COURSE表中的COURSE_ID建立索引COU_IND。3.6.3触发器对于STUDENT数据库,表STUDENT的CLASS_ID列与表CLASS的CLASS_ID满足下列参照完整性规则:A.向STUENT表插入或修改一记录时,通过触发器检

29、查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作;B.修改CLASS表的CLASS_ID字段值时,该字段在STUDENT表中的对应值也做相应修改;C.删除CLASS表中一记录的同时删除该记录CLASS_ID字段值在STUDENT表中对应的记录;在查询分析器编辑窗口输入下列触发器的代码并执行。(1) 向STUENT表插入或修改一记录时,通过触发器检查记录的CLASS_ID值在CLASS表中是否存在,若不存在,则取消插入或修改操作:图3-10 对STUDENT表建立插入、更新触发器 (2) 修改CLASS表的CLASS_ID字段值时,该字段在STUDENT表中的对应值也做相应修改:图3-11 对CLASS表建立更新触发器IF (COLUMNS_UPDATED() :测试是否插入或更新了提及的列,仅用于 INSERT 或 UPDA

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1