《数据库原理及应用》实验报告
- 格式:doc
- 大小:297.50 KB
- 文档页数:16
《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。
本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用SQL语言创建数据库表格和定义表格的各项属性。
1. 数据库的定义意义数据库是指存储数据的集合,它是一个有组织的数据集合,可以提供查询、存储和管理数据的功能。
数据库的定义是建立数据库的结构和特性,包括数据表的定义、数据类型的定义以及数据表之间的关系定义。
数据库的定义可以规范化和统一数据存储结构,提高数据的存储效率和管理方便性。
2. 数据库的基本概念和术语在数据库的定义过程中,需要了解一些基本概念和术语:(1) 数据表:数据表是数据库的一个基本单位,它由多个数据行和数据列组成,用于存储和表示数据。
(2) 数据类型:数据类型定义了数据的存储格式和表达方式,常见的数据类型有整数、浮点数、字符型、布尔型等。
(3) 主键:主键是数据表中的一列或者一组列,其值用来唯一标识数据表中的每一行,主键的值不能重复。
(4) 外键:外键是数据表之间的关系表达,它是一个指向其他数据表主键的列,用于建立数据表之间的联系。
(5) 索引:索引是一种提高数据检索效率的数据结构,它可以加快数据的查询速度。
3. 使用SQL语言创建数据库表格在实验过程中,我们将使用SQL语言来创建数据库表格。
SQL(Structured Query Language)是结构化查询语言的缩写,是一种用于操作和管理数据库的标准语言。
SQL语言的创建表格语句包括以下几个关键字和语法:(1) CREATE TABLE:用于创建数据库表格。
(2) 表名:指定创建的表格的名称。
(3) 列名和数据类型:指定表格中的各列名称和数据类型。
(4) 主键:指定表格中的主键。
(5) 外键:指定表格中的外键。
4. 定义表格的各项属性在使用SQL语言创建数据库表格时,我们需要定义表格的各项属性,包括表格的名称、列名、数据类型、主键和外键。
数据库原理及应用实验报告数据库原理及应用实验报告一、引言数据库是计算机科学中的重要概念,它是用于存储、管理和检索大量有组织数据的系统。
数据库的应用广泛,从个人电脑上的简单数据文件到大型企业级数据仓库,都离不开数据库的支持。
本实验报告将介绍数据库的原理和应用,并通过实际实验来验证其有效性。
二、数据库原理1. 数据库的定义和特点数据库是一个有组织的数据集合,它具有持久性、共享性、独立性和可变性等特点。
持久性指数据可以长期保存;共享性指多个用户可以同时访问和使用数据库;独立性指数据库的逻辑结构和物理结构相互独立;可变性指数据库可以随时更新和修改。
2. 数据库管理系统(DBMS)数据库管理系统是用于管理数据库的软件,它提供了数据定义、数据操纵、数据控制和数据查询等功能。
常见的DBMS有MySQL、Oracle和SQL Server等。
3. 数据库模型数据库模型是用于描述数据库的结构和组织方式的概念模型。
常见的数据库模型有层次模型、网络模型和关系模型等。
其中,关系模型是最为常用的模型,它使用表格来表示数据,表格中的每一行表示一个记录,每一列表示一个属性。
三、数据库应用实验为了验证数据库的应用效果,我们进行了以下实验。
1. 数据库设计首先,我们根据实际需求设计了一个简单的学生信息管理系统。
该系统包含了学生的基本信息、课程信息和成绩信息。
2. 数据库创建在MySQL数据库中,我们创建了一个名为"student"的数据库,并在其中创建了三张表格,分别是"student_info"、"course_info"和"score_info"。
3. 数据库插入通过SQL语句,我们向数据库中插入了一些样本数据,包括学生的姓名、学号、课程名称和成绩等信息。
4. 数据库查询为了验证数据库的查询功能,我们编写了一些SQL查询语句,如查询某个学生的所有成绩、查询某门课程的平均成绩等。
《数据库原理与应⽤》实验报告完整版数据库原理与应⽤实验报告实验课程:数据库原理及应⽤专业:学号:学⽣姓名:年⽉⽇实验⼀创建和维护数据库⼀、实验⽬的1. 掌握在Windows 平台下安装与配置MySQL 5.7 的⽅法。
2. 掌握启动服务并登录MySQL 5.7 数据库的⽅法和步骤。
3. 了解⼿⼯配置MySQL 5.7 的⽅法。
4. 掌握MySQL 数据库的相关概念。
*5. 掌握使⽤Navicat ⼯具和SQL 语句创建数据库的⽅法。
*6. 掌握使⽤Navicat ⼯具和SQL 语句删除数据库的⽅法。
⼆、实验要求1. 学⽣提前准备好实验报告,预习并熟悉实验步骤;2. 遵守实验室纪律,在规定的时间内完成要求的内容。
三、实验内容及步骤1. 在Windows 平台下安装与配置MySQL 5.7 版。
2. 在服务对话框中,⼿动启动或者关闭MySQL 服务。
3. 使⽤Net 命令启动或关闭MySQL 服务。
*4. 分别⽤Navicat ⼯具和命令⾏⽅式登录MySQL。
5.在my.ini ⽂件中将数据库的存储位置改为D:\MYSQL\DATA。
6. 创建数据库。
*①使⽤Navicat 创建学⽣信息管理数据库gradem。
②使⽤SQL 语句创建数据库MyDB。
7. 查看数据库属性。
*①在Navicat 中查看创建后的gradem 数据库和MyDB 数据库的状态,查看数据库所在的⽂件夹。
②利⽤SHOW DATABASES 命令显⽰当前的所有数据库。
8. 删除数据库。
*①使⽤Navicat 图形⼯具删除gradem 数据库。
②使⽤SQL 语句删除MyDB 数据库。
③利⽤SHOW DATABASES 命令显⽰当前的所有数据库。
10. 配置Path 变量,确保MySQL 的相关路径包含在Path 变量中。
四、思考题MySQL的数据库⽂件有⼏种?扩展名分别是什么?格式⽂件.frm 描述表的结构(列、列类型、索引,等等)数据⽂件.ISD(ISAM) 或.MYD (MyISAM) 包含表的数据─即它的⾏索引⽂件ISD(ISAM) 或.MYI (MyISAM) 包含数据⽂件中任何索引的索引树。
实验一1.实验目的了解SQL Server 2005的系统配置、“联机丛书”的内容;掌握Microsoft SQL Server Management Studio 的基本操作及模版的使用方法。
熟练掌握和使用SQL Server Management Studio、Transact-SQL语句创建和管理数据库,并学会使用SQL Server查询分析器接受Transact-SQL语句和进行结果分析。
熟练掌握SQL Server Management Studio的使用和使用Transact-SQL语句创建并删除数据表、修改表结构,更新数据。
学会使用SQL Server查询分析器接受Transact-SQL 语句并进行结果分析。
2.实验内容(1)查看SQL Server 2005的系统配置。
(2)查看SQL Server“联机丛书”的内容。
(3)查看Microsoft SQL Server Management Studio的环境并掌握其基本操作。
(4)查看Microsoft SQL Server Management Studio脚本模版环境并掌握起模版使用方法。
(5)创建数据库(6)查看和修改数据库的属性(7)修改数据库的名称(8)删除数据库(9)分别使用SQL Server Management Studio和Transact-SQL语句创建和删除数据库表,修改表结构,输入并更新数据。
3.实验步骤1)配置安装完Microsoft SQL Server 2005后要对SQL Server 2005进行配置。
包括两方面的内容:配置服务和配置服务器。
2)“联机丛书”SQL Server“联机丛书”提供了对SQL Server 2005文档和帮助系统所作的改进,这些文档可以帮助用户了解SQL Server 2005以及如何实现数据管理和商业智能项目。
3)SQL Server Management StudioMicrosoft SQL Server Management Studio 是为SQL Server数据库管理员和开发人员提供的新工具。
《数据库原理及应用》
实验报告
一、实验目的
掌握多表连接查询的方法
二、实验要求
三、实验结果
1、采用自然连接的方法,列出每个学生及其班级的详细情况。
2、采用自连接的方法,查找不同课程成绩相同的学生的学号、课程和成绩。
3、采用复合条件连接方法,查找选修了“汇编语言”课程且成绩在70分以上的学生的学号/姓名/课程名/成绩。
4、查找每个学生的基本情况以及班级情况。
5、查找选修了课程编号为“2”的课程且成绩在60分以上的学生的姓名和成绩。
6、查找选修了“汇编语言”课程且成绩在70分以上的学生的学号/姓名/课程名/成绩。
7、查找不同课程成绩相同的学生的学号/课程号/成绩。
8、采用左外连接,查找200001班所有学生的学号/姓名以及他们选修的课程号,同时也列出该班没选课的学生的学号/姓名。
9、采用右外连接,查找所有学生的学号/姓名以及他们选修的课程号,同时也列出没选课的学生的学号/姓名。
10、使用子查询来查询学生“张小强”所在的班级。
11、查找选修了课程号为13的课程的学生情况。
12、查找200001班没选修课程号为13的课程的学生情况。
13、创建表stu,包括学号/姓名/性别/家庭住址,然后将student_info表中相应字段信息全部插入到stu中,最后显示插入的记录。
14、将200001边的全体学生的成绩加10分。
15、删除没选修任何一门课的学生的信息。
数据库原理及应用实验报告一、实验目的通过本次实验,深入理解数据库的原理与应用,掌握数据库的基本操作和常见应用场景。
二、实验内容1.数据库的基本概念与原理:关系型数据库与非关系型数据库的区别,数据库的组成要素,关键概念解释等。
2. 数据库的设计与建模:根据需求设计数据库的ER图,熟悉数据库建模工具的使用,如Eclipse、PowerDesigner等。
3.数据库语言与操作:学习SQL语言,包括数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)等,通过SQL语句对数据库进行增删改查操作。
4.索引的使用与优化:了解数据库索引的原理和作用,学习索引的创建、使用和优化技巧,提高数据库查询性能。
5.数据库的备份与恢复:掌握数据库的备份与恢复的方法,学会使用数据库备份工具进行数据的完整备份和恢复操作。
三、实验步骤1.确定数据库需求,设计ER图。
2.使用数据库建模工具创建数据库表,定义字段和关系。
3.使用SQL语句创建数据库和表结构。
4.插入数据并进行增删改查操作,验证数据库的正常使用。
5.创建索引并对查询语句进行优化,提高查询性能。
6.使用数据库备份工具进行数据备份,测试数据的完整恢复。
四、实验结果与分析本次实验中,我选择了一个简单的学生管理系统作为实验的对象。
首先,根据需求设计了ER图,确定了数据库表的结构和关系。
然后使用数据库建模工具创建了对应的数据库表。
接下来,使用SQL语句对数据库进行了初始化和插入数据,并通过增删改查操作验证了数据库的正常使用。
在插入大量数据后,使用索引对查询语句进行了优化,提高了查询性能。
最后,使用数据库备份工具对数据进行了完整备份,并进行了测试恢复操作,确保数据的可靠性和完整性。
通过本次实验,我深入了解了数据库的基本概念与原理,掌握了数据库的设计与建模技巧。
同时,我也学会了使用SQL语言进行数据库的增删改查操作,并掌握了索引的使用和优化方法。
数据库的备份与恢复操作也让我加深了对数据库安全性的认识。
数据库原理及应用实践报告1 数据库功能描述基本实现学生信息的管理,包括系统的登录、学生信息的录入、学生信息的浏览、学生信息的查询、学生信息的修改和学生信息的删除。
2 数据库设计2.1 系统需求分析通过设计一个简单学生成绩管理系统来方便成绩的管理,主要内容是能够在学生表、教师表、班级表、课程表、成绩表等添加记录;能够查询到学生基本情况、全局情况(浏览表)、按学生查询、课程浏览、多项组合查询等功能;能够统计按个人统计成绩、按单科成绩统计成绩等;能够修改课程信息、学生信息、成绩信息等。
最后通过主表单或顶层表单的菜单等方法将各模块表单合理地连接,形成完整的系统。
整个系统中包含四个功能模块:添加模块、查询模块、统计模块、修改模块。
2.2 数据库逻辑结构设计3 数据库实施3.1 数据库架构图3.2 数据表生成脚本初始数据录入脚本学生数据表如表1所示。
表1学生数据表(student.dbf)字段名类型宽度索引索引名索引类型索引表达式学号字符型10 升序学号主索引学号姓名字符型8性别字符型 2出生日期日期型8班级字符型 4 升序班级普通索引班级表2班级数据表(classes.dbf)字段名类型宽度小数位索引索引名索引类型索引表达式班级字符型 4 升序班级主索引班级年级x 字符型 2专业字符型10系代码字符型 1学制字符型 1类型字符型 4表3教师数据表(teacher.dbf)表4课程数据表(course.dbf)表5 学习成绩数据表(score.dbf)3.3初始录入脚本4 应用程序设计表一:登录用户名和密码存放在数据表中,使用时不能连续输入错误3次的登录表单。
步骤为:1、首先在项目管理器的界面中选择创建一个表单,命名为:登陆.Scx2、在空白表单界面上用常用工具绘制相应控件,属性如下图所示:表单中对象的属性设置其中需要在表单的数据环境中添加密码表。
密码表设有两个字段,YHM和MM。
3、为对象添加代码。
在form1的load事件中添加public nn=0Command1的click事件locate for alltrim(mm.yhm)==alltrim(bo1.value)if found()if alltrim(thisform.text1.value)==alltrim(mm.mm)thisform.releasedo form 主控表单.scxelsemessagebox('你输入的密码不正确,请重新输入',48,'登录信息')thisform.text1.value=''n=n+1if n=3messagebox('登录失败!',16,'提示信息')quitendifendifelsemessagebox('对不起,你不是合法用户')endifCommand2的click事件bo1.value=''thisform.text1.value=''Command3的click事件answer=messagebox('确认退出吗?',1+32+0,'确认退出')if answer=1thisform.releasequitendif表二:以表单向导开发信息录入新表单。
数据库原理及应用实验报告金融0901 薛骏翔0807090132 实验12 SQL Server安全管理实验目的:掌握创建登录账号的方法;掌握创建数据库用户的方法;掌握语句级许可权限管理;掌握对象级许可权限管理实验内容:12.1实验题目:创建登陆账号实验过程:1)创建使用Windows身份验证的登录账号WinUser2)创建使用SQL Server身份验证的登录账号SQLUser,设置可访问数据库jxsk实验结果:12.2实验题目:创建数据库用户实验过程:1)为登陆账号WinUser创建访问MXM实例中数据库jxsk的用户账号2)为登陆账号SQLUser创建访问MXM实例中所有数据库的用户账号实验结果:12.3实验题目:语句级许可权限管理实验过程:1)展开实例MXM中数据库节点,右击jxsk,选属性项2)授予用户WinUser只可以在数据库jxsk中创建视图和表3)授予用户SQLUser权限:不允许用户SQSUser在数据库jxsk 中创建视图和表,但允许其他操作。
实验结果:12.4实验题目:对象级许可权限管理实验过程:1)授予用户WinUser 对数据库jxsk 表S 的INSERT,UPDATE 权限2)授予用户SQLUser 对数据库jxsk 表S 的INSERT 权限;废除对表S 的UPDATE 权限3)授予用户WinUser 对数据库jxsk 表S 的列SNO 的SELECT,UPDATE 权限,对SN 的SELECT 权限实验结果:实验13 SQL Server事务设计实验目的:1,理解和掌握事务的概念、特性以及事务的设计思想。
2,学习和掌握事务创建、执行的方法。
13.1 实验题目:设计并执行事务实验过程:基于数据库jiaoxuedb进行下面设计:(1)设计并执行事务1:将学生陈东辉的计算机基础课程成绩改为77分。
(2)设计并执行事务2:将课程数据结构的课号与微机原理的课号互换。
(3)设计并执行事务3教师许永军退休,由他讲授的2门课程中,课程微机原理转给教师张朋讲授,数据库转给李英讲授。
实验一数据库及表的创建与修改一、实验目的1、熟练掌握利用SSMS中的设计工具来创建数据库的办法。
2、了解利用T-SQL语句创建数据库的办法。
3、熟练掌握利用SSMS中的设计工具来创建表、修改表结构以及查看表属性等操作。
4、熟悉T-SQL的数据定义语言,能够熟练地使用SQL语句创建和修改基本表。
二、实验内容1、利用SSMS中的设计工具创建图书管理系统数据库LibraryLib,其中数据库参数均为默认值。
2、使用T-SQL命令创建数据库LibraryLib。
3、利用SSMS中的设计工具为数据库LibraryLib创建表1-6所示的Publish(出版社信息表)和表1-5所示的BookClass(图书类别表)。
4、利用T-SQL创建新表1-10与1-8。
5、numeric(15,2);删除Remarks字段;增加新字段Descript(varchar,70)。
6、利用T-SQL语句:删除BookClass(图书类别表),并重新创建该表。
7、在SSMS中查看Book(图书信息表)的属性。
三、实验步骤1、利用SSMS中的设计工具创建图书管理系统数据库LibraryLib,实现步骤如下:(1)打开SSMS→连接服务器→对象资源管理器界面→右击“数据库”→选择“新建数据库”命令(2)在“常规”选项卡中设置相关选项●输入LibraryLib作为数据库名称,该数据库数据文件默认也是LibraryLib。
●其他设置默认。
(3)单击“确定”按钮,完成创建过程。
2、使用T-SQL的CREATE DATABASE命令创建数据库LibraryLib,步骤如下:(1)打开SSMS→右击“数据库”→选择“新建查询”命令→查询分析器窗口(2)在查询分析器窗口键入以下的T-SQL语句,并进行分析运行。
3、利用SSMS中的设计工具为数据库LibraryLib创建表Publish(出版社信息表)和表BookClass(图书类别表)的步骤如下:“对象资源管理器”→展开“数据库”节点→展开数据库“LibraryLib”节点→右击“表”节点→选择“新建表”命令→在“表设计器”界面进行表设计创建表Publish截图:创建表BookClass截图:4、利用T-SQL创建表ExtraDateFee(超期罚款信息表)和表Borrow(借出图书信息表):设计表ExtraDateFee(超期罚款信息表),可以采用以下T-SQL语句:设计表Borrow(借出图书信息表),可以采用以下T-SQL语句:5、修改表ExtraDateFee(超期罚款信息表),使用T-SQL语句实现,操作截图如下:6、利用T-SQL语句删除BookClass(图书类别表),操作截图如下:采用T-SQL语句重新创建该表,操作截图如下:7、在SSMS中查看Book(图书信息表)的属性,操作步骤如下:展开Book表节点→右击Book表→选择“属性”命令→看到“表属性”对话框→查看“常规”、“权限”、“扩展属性”四、实验心得此次试验是《数据库原理及应用》的第一次实验,内容相对来说是比较简单的,但由于一开始对SQL Serve软件的操作不熟悉,以至在实验的过程中,出现了很多的问题。
数据库原理及应用实验报告实验课程:数据库原理及应用学号:学生姓名:班级:2014年月日实验一创建和维护数据库一、实验目的(1)掌握在Windows 平台下安装与配置MySQL 的方法。
(2)掌握启动服务并登录MySQL 数据库的方法和步骤。
(3)了解手工配置MySQL 的方法。
(4)掌握MySQL 数据库的相关概念。
(5)掌握使用Navicat 工具和SQL 语句创建数据库的方法。
(6)掌握使用Navicat 工具和SQL 语句删除数据库的方法。
二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;(3)1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤(1)在Windows 平台下安装与配置MySQL 版。
(2)在服务对话框中,手动启动或者关闭MySQL 服务。
(3)使用Net 命令启动或关闭MySQL 服务。
(4)分别用Navicat 工具和命令行方式登录MySQL。
(5)在文件中将数据库的存储位置改为D:\MYSQL\DATA。
(6)创建数据库。
①使用Navicat 创建学生信息管理数据库gradem。
②使用SQL 语句创建数据库MyDB。
(7)查看数据库属性。
①在Navicat 中查看创建后的gradem 数据库和MyDB 数据库的状态,查看数据库所在的文件夹。
②利用SHOW DATABASES 命令显示当前的所有数据库。
(8)删除数据库。
①使用Navicat 图形工具删除gradem 数据库。
②使用SQL 语句删除MyDB 数据库。
③利用SHOW DATABASES 命令显示当前的所有数据库。
(9)使用配置向导修改当前密码,并使用新密码重新登录。
(10)配置Path 变量,确保MySQL 的相关路径包含在Path 变量中。
四、思考题My SQL的数据库文件有几种扩展名分别是什么五、实验总结1、收获2、存在的问题实验二管理表一、实验目的(1) 掌握表的基础知识。
《数据库原理与应用》实验报告(一)----认识Oracle及使用SQL*Plus一、实验目的1、认识Oracle数据库管理系统;2、了解并会使用SQL*Plus工具。
二、实验内容1、启动Oracle数据库【开始】->【控制面板】->【管理工具】-【服务】将服务名称以“Oracle”开头的四个服务启动:OracleDBConsoleorcl、OracleOraDb10g_home1iSQL*Plus、OracleServiceORCL、OracleOraDb10g_home1TNSListener。
启动方式:右键鼠标->【启动】。
2、启动SQL*Plus【开始】->【程序】->Oracle目录->【SQL Plus】用户名:system口令:xg1233、设置SQL*Plus环境选项4、CREATE TABLE语句创建表studentCREATE TABLE reader(cardid V ARCHAR2(10) PRIMARY KEY,name V ARCHAR2(8),sex V ARCHAR2(2) CHECK(sex IN(‘男’,’女’)),dept V ARCHAR2(20),class NUMBER(1)) ;5、在SQL*Plus中执行SQL语句(1)向表reader添加数据SQL>INSERT INTO readerV ALUES('S0002','张伟', '男','数学系',1);按照此方法依次添加5条记录。
(2)查询表reader所有记录SQL>SELECT * FROM reader;(3)查询表reader中男性读者的姓名、工作单位、读者类型。
SQL>SELECT name,dept,class FROM reader WHERE sex='男';6、常用SQL*Plus命令(DESC、LIST、RUN、EDIT、SA VE、START、@、SHOW、HELP)(1)DESC、LIST、RUN语句查询(2)SHOW语句查询(3)SHOW EEROR、HELP 、SPOOL语句查询三、三、实验总结刚接触到SQL*Plus时,因为用惯了Windows图形界面,感到很难接受,很麻烦,命令要一条条语句的输入,而且也容易出错,一不小心就会打错字母。
一、实验目的1、使用企业管理器和T-SQL 语句创建和管理数据库。
2、熟练掌握使用企业管理器和T-SQL 语句创建、修改和删除表。
3、熟练掌握使用企业管理器和T-SQL 语句插入、修改和删除表数据。
4、牢记SELECT语句的基本语法格式;5、熟练掌握使用SQL语句进行单表查询,尤其要熟练掌握GROUP BY子句、HAVING子句和集聚函数;6、牢记SELECT语句的基本语法格式;7、熟练掌握使用SQL 标准语句和T-SQL 扩展语句进行连接查询。
8、熟练掌握IN子查询9、熟练掌握比较子查询和EXISTS子查询二、实验内容实验一1、利用企业管理器创建产品销售数据库CPXS。
Create datebase CPXS;2、CPXS数据库包含如下三个表:1、CP(产品编号,产品名称,价格,库存量)产品CREATE TABLE CP(产品编号 CHAR(6) NOT NULL,产品价格 CHAR(30) NOT NULL,价格 FLOAT(8),库存 INT)2、XSS(客户编号,客户名称,地区,负责人,电话)销售商CREATE TABLE XSS(客户编号 CHAR(6) NOT NULL,客户名 CHAR(30) NOT NULL,地区 CHAR(10),负责人 CHAR(8),电话 CHAR(12))3、CPXSB(产品编号,客户编号,销售日期,数量,销售额)产品销售表CREATE TABLE CPXSB(产品编号 CHAR(6),客户编号 CHAR(6),销售日期 DATETIME,数量 INT,销售额 FLOAT(8))4、用T-SQL语句向CP表插入如下记录:INSERT INTO cp VALUES("200001","柜式空调",3000,200);INSERT INTO cp VALUES("200002","微波炉",1000,100);INSERT INTO cp VALUES("200003","抽油烟机",1200,50)5、用T-SQL语句向CP表中增加“产品简介”列,varchar(50),允许为NULL 。
数据库原理及应用实践报告一、引言数据库是现代计算机科学领域中一种重要的数据结构,广泛应用于各个领域的信息管理和数据处理中。
数据库的原理和应用实践对于科学家和工程师来说都是必备的知识。
本报告主要介绍数据库的原理和一些常见的应用实践。
二、数据库的原理1.数据库的定义数据库是一个用于存储和管理数据的集合。
它提供了一种统一的方式来组织和访问数据,使得数据的存储和检索更加高效和方便。
2.数据库的特点数据库具有以下几个特点:(1)数据持久性:数据库中的数据是持久存储的,即使系统崩溃或断电,数据也不会丢失。
(2)数据共享性:数据库可以被多个用户共享,不同的用户可以对数据进行并发访问和操作。
(3)数据独立性:数据库中的数据与程序和存储介质无关,可以独立于具体的应用程序进行操作。
(4)数据安全性:数据库提供各种机制来保证数据的安全性,如用户权限管理、数据加密等。
3.数据库的模型数据库根据数据的组织方式可以分为不同的模型,常见的数据库模型有层次模型、网络模型和关系模型。
关系模型是最常用的模型,它将数据组织成表格的形式,便于理解和操作。
4.数据库的查询语言数据库查询语言是用户与数据库之间进行交互的一种方式,常见的查询语言有结构化查询语言(SQL)。
SQL提供了一种简单而强大的方式来操作数据库,包括数据的插入、查询、更新和删除等操作。
三、数据库的应用实践数据库在各个领域都有广泛的应用,下面介绍一些常见的应用实践:1.企业管理系统企业管理系统是一种集成了多个管理模块的系统,包括人力资源管理、财务管理、供应链管理等。
数据库作为企业管理系统的核心组件之一,负责存储和管理各种业务数据,支持各个模块之间的数据共享和协作。
2.社交网络社交网络是一种基于互联网的交流和分享平台,如Facebook、微博等。
数据库在社交网络中起到存储用户信息、关系网络等功能,支持用户之间的信息交流和关系管理。
3.电子商务数据库在电子商务中扮演着重要的角色,用于存储和管理商品信息、订单信息、用户信息等。
实验成绩《数据库系统原理及应用》实验报告六专业班级: 计算机科学与技术学号: 3姓名: 范晓曈指导教师: 苏小玲2013年11 月21 日实验六名称:SQL Server存储过程一、实验内容及要求1.使用输入参数存储过程的创建和执行任务1:查询学生的学号、姓名、选修的课程号、课程名、课程学分,将学生所在系作为输入参数,默认值为“软件工程系”。
执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。
2.修改视图任务1:查询指定系的男生人数,其中系为输入参数,人数为输出参数。
执行此存储过程,并分别指定一些不同的输入参数值,查看执行过程。
任务2:查询指定学生(姓名)在指定学期的选课门数和考试平均成绩,要求姓名和学期为输入参数,选课门数和平均成绩用输出参数返回,平均成绩保留到小数点后两位。
3.使用返回代码存储过程的创建和执行任务1:查询指定学生(学号)的选课门数。
如果指定学生不存在,则返回代码1;如果指定的学生没有选课,则返回代码2;如果指定学生有选课,则返回代码0,并用输出参数返回该学生的选课门数。
4.使用实现对数据库修改、删除和插入操作的存储过程创建和执行任务1:删除指定学生(学号)的修课,如果指定的学生不存在,则显示提示信息“没有指定学生”;如果指定的学生没有选课,则显示提示信息“该学生没有选课”。
学号为输入参数。
任务2:修改指定课程的开课学期。
输入参数为:课程号和修改后的开课学期。
任务3:在course表中插入一行数据,课程号、课程名、学分、开课学期均为输入参数。
课程号为C100、课程名为操作系统、学分为4、开课学期为4,开课学期的默认值为3。
如果学分大于10或者小于1,则不插入数据,并显示提示信息“学分为1~10之间的整数”。
二、实验目的掌握存储过程的创建和执行;掌握存储过程中输入参数和输出参数的设置和使用方法。
三、实验步骤及运行结果1.使用输入参数存储过程的创建和执行任务1:查询学生的学号、姓名、选修的课程号、课程名、课程学分,将学生所在系作为输入参数,默认值为“软件工程系”。
实验报告课程名称:数据库原理及应用学院: 信息与软件工程学院专业:软件工程指导教师:张宁学生姓名:朱旻实验成绩:日期:2014年月日电子科技大学信息与软件工程学院电子科技大学实验报告一、实验一:Oracle数据库管理系统软件安装、环境配置与使用二、实验室名称:信软楼304实验室实验时间:2014/11/17三、实验目的通过对Oracle数据库DBMS软件安装与配置使用实验,使学生掌握典型企业级数据库管理软件的安装使用方法,了解数据库管理工具的用途和使用技巧。
要求学生能够正确安装Oracle企业数据库管理系统,并对系统配置进行有效地设置,搭建Oracle企业数据库管理系统运行管理环境,能够对数据库系统服务进行启停控制。
四、实验原理了解Oracle企业数据库产品的技术特点、软件版本、软件功能组件、软件硬件环境要求等技术文档。
按照Oracle数据库产品安装指南的过程步骤,逐步完成在本机Oracle数据库管理系统安装。
五、实验内容在Windows7或WindowsXP或Windows2000操作系统环境下,安装Oracle数据库管理系统软件,搭建数据库管理系统运行环境。
具体实验内容如下:1)Oracle数据库管理系统软件安装2)Oracle数据库管理系统环境配置3)Oracle数据库管理系统服务启停4)Oracle数据库管理系统工具使用5)Oracle数据库系统基本对象操作在实验计算机上,完成上述Oracle数据库管理系统软件安装、配置操作,并进行基本的数据库访问操作。
同时记录实验过程的规划、操作、运行结果界面等数据,撰写本实验报2告。
六、实验设备及环境“数据库原理及应用”实验所涉及的硬件设备为pc计算机、服务器以及网络环境,pc 计算机与服务器在同一局域网络。
操作系统: Windows7或WindowsXP或Windows2000数据库DBMS:Oracle七、实验步骤采用课程实验平台提供的Oracle安装版本进行数据库管理系统安装和配置管理,其步骤如下:1)了解系统安装的软硬件环境要求,进行本机操作系统环境准备,并确定安装目录、用户账号和权限。
实训报告第一部分:实训目的通过本次课程设计让学生能够综合运用所学的关系数据库原理知识解决并能设计一个实际问题,进一步掌握数据库原理的相关理论和数据库的设计实现过程,进一步提高学生的分析问题和解决问题的能力以及学生的动手能力,能够独立完成数据库的功能的设计和开发。
第二部分:实训准备安装有SQL SERVER 2005以上版本的软件的计算机。
第三部分:实训要求1.画出所给任务中表的E-R图2.实训部分(全部使用T-SQL语句完成以下实验内容)第四部分:实训内容(步骤及程序)E-R图实验1 数据库操作1.创建数据库:操作1.1:创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%。
create database test数据库on(name='test_data',filename='D:\课程设计\数据库\test_data.mdf',size=10mb,filegrowth=1mb,maxsize=unlimited)log on(name='test_log',filename='D:\课程设计\数据库\test_log.ldf',size=1mb,filegrowth=10%,maxsize=5mb)go2.查看数据库属性:操作1.2:使用T-SQL语句查看数据库test属性exec sp_helpdb test数据库go3.删除数据库:操作1.3:使用T-SQL语句删除数据库testdrop database test数据库go实验2 表操作1.创建表:操作2.1:创建学生表:use test数据库gocreate table student(st_id nvarchar(9)not null primary key, st_nm nvarchar(8)not null,st_sex nvarchar(2),st_birth datetime,st_score int,st_date datetime,st_from nchar(20),st_dpid nvarchar(2),st_mnt tinyint)go操作2.2:创建课程信息表:use test数据库gocreate table couse(cs_id nvarchar(4)not null primary key, cs_nm nvarchar(20)not null,cs_tm int,cs_sc int)go操作2.3:创建选课表:use test数据库gocreate table slt_couse(cs_id nvarchar(4)not null,st_id nvarchar(9)not null,score int,sltdate datetime)goalter table slt_couseadd constraint fk_cs_idforeign key(cs_id)references couse(cs_id)goalter table slt_couseadd constraint fk_st_idforeign key(st_id)references student(st_id)go操作2.4:创建院系信息表:use test数据库gocreate table dept(dp_id nvarchar(2)not null,dp_nm nvarchar(20)not null,dp_drt nvarchar(8),dt_tel nvarchar(12))go2.修改表结构:(1)向表中添加列:操作2.5:为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空)use test数据库goalter table deptadd dp_count nvarchar(3)go(2)修改列数据类型:操作2.6:修改“dept”表的“dp_count”列数据类型为intuse test数据库goalter table deptalter column dp_count intgo(3)删除表中指定列:操作2.7:删除“dept”表的“dp_count”列use test数据库goalter table deptdrop column dp_countgo3.删除表操作2.8:删除“dept”表use test数据库godrop table deptgo4.向表中输入数据记录操作2.9:分别向“student”表、“couse”表、“slt_couse”表、“dept”表中输入数据记录use test数据库goinsert studentvalues('000000001','小二','男','1991-01-01','89','2011-09-01','广东','10','1')insert studentvalues('000000002','小三','男','1991-01-02','79','2011-09-01','广东','12','1')insert studentvalues('000000003','小四','女','1991-01-03','69','2011-09-01','广东','8','1')insert studentvalues('000000004','小六','男','1991-04-01','59','2011-09-01','广东','13','1')insert studentvalues('000000005','小七','男','1991-01-11','89','2011-09-01','广东','11','1')Gouse test数据库goinsert cousevalues('0001','计算机网络','72','2')insert cousevalues('0002','c语言程序设计','72','2')insert cousevalues('0003','SQL数据库','72','2')insert cousevalues('0004','计算机导论','72','2')insert cousevalues('0005','高级数学','72','2')Gouse test数据库goinsert slt_cousevalues('0001','000000001','72','2011-10-12') insert slt_cousevalues('0002','000000002','92','2011-10-12') insert slt_cousevalues('0003','000000003','62','2011-10-12') insert slt_cousevalues('0004','000000004','82','2011-10-12') insert slt_cousevalues('0005','000000005','52','2011-10-12')use test数据库goinsert deptvalues('8','艺术系','王大仁','12345768')insert deptvalues('9','建筑系','李小仁','12645678')insert deptvalues('10','信息系','李大仁','12349878')insert deptvalues('13','管理系','王小仁','16345678')insert deptvalues('12','外语系','王小明','14512678')go实验3 数据完整性1.空值约束( NULL )操作3.1:将student表中的st_sex列属性更改为NOT NULL use test数据库goalter table studentalter column st_sex nvarchar(2)not nullgo2.默认值约束( DEFAULT )操作3.2:将student表中的st_from列默认值设置为“陕西省”use test数据库goalter table studentadd constraint df_fromdefault'陕西省'for st_fromgo3.默认值对象操作3.3:创建默认值对象df_today为当前日期,并将其绑定到slt_couse表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。
数据库原理与应用实验报告实验报告1.实验目的熟悉SQL的数据定义语言,能够熟练地使用SQL语句来创建和更改基本表,创建和取消索引。
对数据库进行单表查询、连接查询、嵌套查询、集合查询和统计查询。
2.实验内容✧在SSMS环境中使用SQL语言创建数据库✧使用CREATE语句创建基本表。
✧更改基本表的定义: 增加列,删除列,修改列的数据类型。
✧创建表的升、降序索引。
✧删除基本表的约束、基本表的索引或基本表。
3.实验步骤(按自己来)1)在SSMS环境中使用SQL语言创建数据库:姓名全拼_Mis2)使用SQL语句创建关系数据库基本表:供应商表:姓名全拼_S(拼音缩写_Sno,拼音缩写_Sname,拼音缩写_Status,拼音缩写_City)零件表:姓名全拼_P(拼音缩写_Pno,拼音缩写_Pname,拼音缩写_Color,拼音缩写_Weight)工程项目表:姓名全拼_J(拼音缩写_Jno,拼音缩写_Jname,拼音缩写_City)零件供应情况表:姓名全拼_SPJ(拼音缩写_Sno,拼音缩写_Pno,拼音缩写_Jno,拼音缩写_QTY)其中:拼音缩写_Sno、拼音缩写_Pno、拼音缩写_Jno、(拼音缩写_Sno,拼音缩写_Pno,拼音缩写_Jno)分别是表xuning_S、表xuning_P、表xuninig_J、表xuning_SPJ的主键,具有唯一性约束。
3)找出供应工程J1的供应商号4)找出供应工程J1零件P1的供应商号5)找出供应工程J1红色零件的供应商号6)找出没有使用杭州供应商生产的绿色零件的工程号7)找出和供应商S1在同一城市的供应商所提供的所有零件8)找出供应红色的P1零件且其供应量>200的供应商号9)找出所有供应商的姓名和所在城市10)找出零件的名称、颜色、重量11)找出使用供应商S2所供应零件的工程号12)找出工程项目J3实用的各种零件的名称及数量13)找出杭州厂商供应的所有零件号码14)找出使用杭州产的零件的工程号15)找出没有天津产的零件的工程号16)把全部红色零件的颜色改为蓝色17)由供应商S4供给J3零件P5改为由S3供应,请做必要的修改18)从供应商表关系中删除S3的记录,并从供应情况关系中删除相应的记录 19)请将(S2,J6,P4,300)插入到供应情况关系中20)为‘一键’工程项目建立一个供应情况的视图,包括供应商号,零件代码,供应商名称,供应数量A)找出‘一键’使用的各零件代码及数量B)找出供应商S2的供应情况C)找出供应零件P2且供应数量大于100的供应商名21)把对表xuning_S的插入权限授予用户zhangyong,并允许他再将此权利授予他人22)把查询表xuning_SPJ和修改QTY的权限授予liming4.实验结果(只要粘贴图片,查询分析器,写的语句和结果,四张表的语句粘一个图就可以了,剩下三张表的语句粘就可以了)1)在SSMS环境中使用SQL语言创建数据库jiangxue_Mis语句:CREATE DATABASE jiangxue_MisON(NAME=jiangxue_data,FILENAME='c:\jiangxue\jiangxue-mis-data.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON(NAME='jiangxue_Log',FILENAME='c:\jiangxue\jiangxue_mis_log.ldf',SIZE=5MB,MAXSIZE=25MB, FILEGROWTH=5MB)2)用SQL语言创建供应商表1.创造jiangxue_Screate table jiangxue_S (Sno char(5)primary key, Sname char(20)not null, Status int,City char(20)not null)2.创造jiangxue_Pcreate table jiangxue_P(Pno char(5)primary key,Pname char(20)not null,Color char(20)not null,Weight int)3.创造jiangxue_Jcreate table jiangxue_J(Jno char(5)primary key,Jname char(20)not null,City char(20)not null,)4.创造jiangxue_SPJcreate table jiangxue_SPJ(Sno char(5),Pno char(5),Jno char(5),QTY int,primary key(Sno,Pno,Jno),constraint S_SPJ foreign key(Sno)references jiangxue_S, constraint P_SPJ foreign key(Pno)references jiangxue_P, constraint J_SPJ foreign key(Jno)references jiangxue_J )3)将数据插入各表1.数据插入jiangxue_S表insertinto jiangxue_Svalues('S1','利群',30,'广州') insertinto jiangxue_Svalues('S2','同方',20,'杭州') insertinto jiangxue_Svalues('S3','天远',60,'北京') insertinto jiangxue_Svalues('S4','精诚',10,'上海') insertinto jiangxue_Svalues('S5','化缘',80,'重庆') insertinto jiangxue_Svalues('S6','弘治',50,'太原')2.将数据插入jiangxue_Pinsertinto jiangxue_Pvalues('P1','钉子','绿','34') insertinto jiangxue_Pvalues('P2','螺丝','蓝','25') insertinto jiangxue_Pvalues('P3','螺母','橙','12') insertinto jiangxue_Pvalues('P4','螺栓','紫','27') insertinto jiangxue_Pvalues('P5','螺钉','红','53') insertinto jiangxue_Pvalues('P6','齿轮','绿','17') insertinto jiangxue_Pvalues('P7','传送带','红','28')3.将数据插入jiangxue_Jinsertinto jiangxue_Jvalues('J1','一键','济南')insertinto jiangxue_Jvalues('J2','三汽','广州')insertinto jiangxue_Jvalues('J3','拉链厂','杭州') insertinto jiangxue_Jvalues('J4','无线电厂','北京') insertinto jiangxue_Jvalues('J5','机床厂','上海') insertinto jiangxue_Jvalues('J6','螺钉厂','重庆') insertinto jiangxue_Jvalues('J7','机械厂','天津')4.将数据插入jiangxue_SPJinsertinto jiangxue_SPJvalues('S1','P1','J3','340')insertinto jiangxue_SPJvalues('S1','P1','J2','250') insertinto jiangxue_SPJvalues('S1','P2','J5','120') insertinto jiangxue_SPJvalues('S1','P2','J6','270') insertinto jiangxue_SPJvalues('S1','P2','J7','530') insertinto jiangxue_SPJvalues('S2','P2','J1','170') insertinto jiangxue_SPJvalues('S2','P3','J2','280') insertinto jiangxue_SPJvalues('S2','P4','J3','100') insertinto jiangxue_SPJvalues('S2','P4','J4','120') insertinto jiangxue_SPJvalues('S2','P5','J7','310') insertinto jiangxue_SPJvalues('S2','P5','J5','560') insertinto jiangxue_SPJvalues('S2','P6','J6','200') insertinto jiangxue_SPJvalues('S3','P7','J1','300') insertinto jiangxue_SPJvalues('S3','P1','J1','400') insertinto jiangxue_SPJvalues('S4','P3','J2','410') insertinto jiangxue_SPJvalues('S4','P4','J3','330')insertinto jiangxue_SPJvalues('S4','P4','J4','650')insertinto jiangxue_SPJvalues('S4','P5','J4','150')insertinto jiangxue_SPJvalues('S5','P7','J5','230')insertinto jiangxue_SPJvalues('S5','P7','J7','280')insertinto jiangxue_SPJvalues('S6','P2','J2','350')insertinto jiangxue_SPJvalues('S6','P2','J3','420')insertinto jiangxue_SPJvalues('S6','P6','J1','310')题目1.4:(1)找出供应工程J1零件的供应商号select distinct Snofrom jiangxue_SPJwhere Jno='J1'(2)找出供应工程J1零件P1的供应商号select distinct Snofrom jiangxue_SPJwhere Jno='J1'and Pno='P1'(3)找出供应工程J1红色零件的供应商号select distinct Snofrom jiangxue_SPJwhere Jno='J1'and Pno in(select Pnofrom jiangxue_Pwhere Color='红')(4)找出没有使用杭州供应商生产的绿色零件的工程号select distinct Jnofrom jiangxue_SPJwhere Pno in(select Pnofrom jiangxue_Pwhere Color='绿')and Sno in(select Snofrom jiangxue_Swhere City<>'杭州')(5)找出同供应商S1在同一城市的供应商所提供的所有零件(6)找出供应红色的P1零件且其供应量大于200的供应商号select Sno from jiangxue_SPJwhere exists(select * from jiangxue_Pwhere Pno=jiangxue_SPJ.Pno and Color='红色'and Pno='P1'and QTY>200 )题目1.5:(1)找出所有供应商的姓名和所在城市select Sname,Cityfrom jiangxue_S(2)找出所有零件的名称、颜色和重量select Pname,Color,Weightfrom jiangxue_P(3)找出使用供应商S2所供应零件的的工程号select Jno from jiangxue_SPJwhere Sno='S2'order by Jno ASC(4)找出工程项目J3使用的各种零件的名称及其数量select Pname,sum(QTY) QTYSfrom jiangxue_SPJ,jiangxue_Pwhere Jno='J2' and jiangxue_P.Pno=jiangxue_SPJ.Pno group by jiangxue_P.Pname(5)找出杭州厂商供应的所有零件号码select distinct Pno from jiangxue_SPJwhere Sno in(select Sno from jiangxue_Swhere City='杭州')(6)找出使用杭州产的零件的工程名称select distinct Jname from jiangxue_jwhere Jno in (select Jno from jiangxue_SPJwhere Sno in(select Sno from jiangxue_S where City=’杭州’)) (7)找出没用供应天津产的零件的工程号Select distinct Jno from jiangxue_SPJwhere Sno in(select Sno from jiangxue_S where City <> '天津')(8)把全部红色零件的颜色改成蓝色修改前:修改后:(9)由供应商S4供给J3零件P5改为由S3供应,请做必要的修改修改前:修改后;(10)从供应商关系中删除S3的记录,并从供应情况关系中删除相应的记录(11)请将(S2,J6,P4,300)插入到供应情况关系中。
数据库原理及应用实验报告实验课程:数据库原理及应用学号:学生姓名:班级:2014年月日实验一创建和维护数据库一、实验目的(1)掌握在Windows 平台下安装与配置MySQL 5.5 的方法。
(2)掌握启动服务并登录MySQL 5.5 数据库的方法和步骤。
(3)了解手工配置MySQL 5.5 的方法。
(4)掌握MySQL 数据库的相关概念。
(5)掌握使用Navicat 工具和SQL 语句创建数据库的方法。
(6)掌握使用Navicat 工具和SQL 语句删除数据库的方法。
二、实验要求(1)学生提前准备好实验报告,预习并熟悉实验步骤;(2)遵守实验室纪律,在规定的时间内完成要求的内容;(3)1~2人为1小组,实验过程中独立操作、相互学习。
三、实验内容及步骤(1)在Windows 平台下安装与配置MySQL 5.5.36 版。
(2)在服务对话框中,手动启动或者关闭MySQL 服务。
(3)使用Net 命令启动或关闭MySQL 服务。
(4)分别用Navicat 工具和命令行方式登录MySQL。
(5)在my.ini 文件中将数据库的存储位置改为D:\MYSQL\DATA。
(6)创建数据库。
①使用Navicat 创建学生信息管理数据库gradem。
②使用SQL 语句创建数据库MyDB。
(7)查看数据库属性。
①在Navicat 中查看创建后的gradem 数据库和MyDB 数据库的状态,查看数据库所在的文件夹。
②利用SHOW DATABASES 命令显示当前的所有数据库。
(8)删除数据库。
①使用Navicat 图形工具删除gradem 数据库。
②使用SQL 语句删除MyDB 数据库。
③利用SHOW DATABASES 命令显示当前的所有数据库。
(9)使用配置向导修改当前密码,并使用新密码重新登录。
(10)配置Path 变量,确保MySQL 的相关路径包含在Path 变量中。
四、思考题My SQL的数据库文件有几种?扩展名分别是什么?五、实验总结1、收获2、存在的问题实验二管理表一、实验目的(1) 掌握表的基础知识。
《数据库原理及应用》实验报告SQL语句部分总成绩:实验一熟悉SQL SERVER,数据定义实验实验一成绩:一、实验目的1、利用查询分析器创建数据库2、利用查询分析器用SQL语言定义基本表、索引并进行相关操作二、实验步骤及内容在以下实验中,使用学生-课程数据库,它描述了学生的基本信息、课程的基本信息及学生选修课程的信息。
1.创建学生课程数据库5.将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。
6、在表S上增加“出生日期”属性列。
7、删除表S的“年龄”属性列。
8、删除S姓名列的唯一值约束。
9、修改SC表成绩属性列为精确数字型。
10、在表S上,按“Sno”属性列的唯一值方式建立索引。
11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。
三、实验结果:1.创建学生课程数据库create database Studend;(Sno CHAR(9)PRIMARY KEY,Sname CHAR(20)UNIQUE,Ssex CHAR(2),Sage smallint,Sdept char(20),);3.创建课程关系表C :课程号课程名先行课学分Cno Cname Cpno ccreditcreate table C(Cno char(4)primary key,Cname CHAR(40),Cpno char(4),Ccredit SMALLINT,);4.创建课程关系表SC :学号课程号成绩Sno Cno grade create table SC(Sno char(9),Cno char(4),Grade smallint,);5.将以上创建表S、C、SC的SQL命令以.SQL文件的形式保存在磁盘上。
6、在表S上增加“出生日期”属性列。
alter table S add Sbirthday datetime;7、删除表S的“年龄”属性列。
alter table S drop column Sage;8、删除S姓名列的唯一值约束。
alter table S drop UQ__S__7D78A4E7;9、修改SC表成绩属性列为精确数字型。
alter table SC alter column Grade int;10、在表S上,按“Sno”属性列的唯一值方式建立索引。
create unique index Stusno on S(Sno);11、删除表SC,利用磁盘上保存的.SQL文件重新创建表SC。
drop table SC;12、创建教材P74页习题5中SPJ数据库中的四个关系:S、P、J、SPJ。
实验二数据更新实验实验二成绩:一、实验目的1、熟悉和掌握数据表中数据的插入、修改、删除操作和命令的使用2、加深理解表的定义对数据更新的作用二、实验步骤及内容(一)利用查询分析器在表中插入数据打开在实验一中建立的“学生课程”数据库;在“SCDB”数据库中的student、course、sc表中插入数据;student表的内容:SNO SNAME SSEX SAGE SDEPT95001 李勇男20 CS95002 刘晨女19 IS95003 王敏女18 MAcourse表的内容CNO CNAME CPNO CREDIT1 数据库 5 42 数学NULL 23 信息系统 1 44 操作系统NULL 35 数据处理NULL 2sc表的内容SNO CNO GRADE95001 1 9295001 2 6595001 3 8895002 2 9095002 3 80(二)修改表中的数据在插入数据后的三张表S、C、SC中进行相关的更新操作:1、将student表中‘李勇’的名字改为‘李明’;2、将student表中‘王敏’的年龄改为20岁;3、将所有学生的年龄增加1岁;4、修改学生的学号‘95002’为‘95005’,注意表之间的关系,保持一致性;5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;6、将“CS”系全体学生的成绩置零;(三)删除表中的数据1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;2、删除学号为“95003”的相关信息;3、删除"IS"系选修了"2"号课程的选课记录;4、删除“CS”系的全体学生的选课记录;5、删除整张表的数据,注意表之间的关系,保持一致性。
三、实验结果:(一)利用查询分析器在表中插入数据打开在实验一中建立的“学生课程”数据库;在“SCDB”数据库中的student、course、sc表中插入数据;student表的内容:SNO SNAME SSEX SAGE SDEPT95001 李勇男20 CS95002 刘晨女19 IS95003 王敏女18 MAcourse表的内容CNO CNAME CPNO CREDIT1 数据库 5 42 数学NULL 23 信息系统 1 44 操作系统NULL 35 数据处理NULL 2sc表的内容SNO CNO GRADE95001 1 9295001 2 6595001 3 8895002 2 9095002 3 80insertinto S(Sno,Sname,Ssex,Sage,Sdept)values('95001','李勇','男',20,'CS');insertinto S(Sno,Sname,Ssex,Sage,Sdept)values('95002','刘晨','女',19,'IS');insertinto S(Sno,Sname,Ssex,Sage,Sdept)values('95003','王敏','男',20,'CS');select*from S;insertinto C(Cno,Cname,Cpno,Ccredit)values('1','数据库','5',4);insert. into C(Cno,Cname,Cpno,Ccredit)values('2','数学',NULL,2);insertinto C(Cno,Cname,Cpno,Ccredit)values('3','信息系统','1',4);insertinto C(Cno,Cname,Cpno,Ccredit)values('4','操作系统',NULL,3);insertinto C(Cno,Cname,Cpno,Ccredit)values('5','数据处理',NULL,2);insertinto SC(Sno,Cno,Grade)values('95001','1',92);insertinto SC(Sno,Cno,Grade)values('95001','2',65);insertinto SC(Sno,Cno,Grade)values('95001','3',88);insertinto SC(Sno,Cno,Grade)values('95002','2',90);insertinto SC(Sno,Cno,Grade)values('95002','3',80);(二)修改表中的数据在插入数据后的三张表S、C、SC中进行相关的更新操作:1、将student表中‘李勇’的名字改为‘李明’;update Sset Sname='李明'where Sno='95001';2、将student表中‘王敏’的年龄改为20岁;update Sset Sage=20where Sname='王敏';3、将所有学生的年龄增加1岁;update Sset Sage=Sage+1;4、修改学生的学号‘95002’为‘95005’,注意表之间的关系,保持一致性;update Sset Sno='95005'where Sno='95002';5、把选修了“2”号课程,且成绩低于70分的成绩提高5%;update SCset Grade=Grade*1.05where Cno='2'and Grade<70;6、将“CS”系全体学生的成绩置零;update SCset Grade=0where'CS'=(select Sdept from S where S.Sno=SC.Sno);(三)删除表中的数据1、把选修了“2”号课程,且成绩低于70分的学生的成绩删除掉;delete from SCwhere Cno='2'and Grade<70;2、删除学号为“95003”的相关信息;delete from Swhere Sno='95003';3、删除"IS"系选修了"2"号课程的选课记录;delete from SCwhere Cno='2'and Sno in(select Sno from S where Sdept='IS');4、删除“CS”系的全体学生的选课记录;delete from SCwhere'CS'=(select Sdept from S where S.Sno=SC.Sno);5、删除整张表的数据,注意表之间的关系,保持一致性。
delete from SC;实验三数据查询实验实验三成绩:一、实验目的熟悉和掌握对数据表中数据的查询操作和SQL命令的使用,学会灵活熟练的使用SQL 语句的各种形式;加深理解关系运算的各种操作(尤其的关系的选择,投影,连接和除运算)二、实验方法及步骤1.在表student,course,sc上进行简单查询;2.在表student,course,sc上进行连接查询;3.在表student,course,sc上进行嵌套查询;4.使用聚合函数的查询;5.对数据的分组查询;6.对数据的排序查询。
三、实验内容在表student,course,sc上完成以下查询:1、查询学生的基本信息;2、查询“CS”系学生的基本信息;3、查询“CS”系学生年龄不在19到21之间的学生的学号、姓名;4、找出最大年龄;5、找出“CS”系年龄最大的学生,显示其学号、姓名;6、统计“CS”系学生的人数;7、统计各系学生的人数,结果按升序排列;8、按系统计各系学生的平均年龄,结果按降序排列;9、查询每门课程的课程名;10、统计无先修课的课程的学分总数;11、查询选修了“1”或“2”号课程的学生学号和姓名;12、查询选修了“1”和“2”号课程的学生学号和姓名;13、查询选修了课程名为“数据库系统”且成绩在60分以下的学生的学号、姓名和成绩;14、查询每位学生选修了课程的学生信息(显示:学号,姓名,课程号,课程名,成绩);15、查询没有选修课程的学生的基本信息;16、查询选修了3门以上课程的学生学号;17、查询选修课程成绩至少有一门在80分以上的学生学号;18、查询选修课程平均成绩在80分以上的学生学号;19、(选做)统计每位学生选修课程的门数、学分及其平均成绩;20、(选做)找出平均成绩在85分以上的学生,结果按系分组,并按平均成绩的升序排列。