数据库实验1
实验1数据库定义实验 一 实验内容 1、数据库的创建、修改和删除 2、基本表的定义
实验1数据库定义实验一实验内容1、数据库的创建、修改
和删除2、基本表的定义
一、实验内容
1. 数据库的创建、修改和删除
- 创建名为`TestDB` 的数据库
```sql
CREATE DATABASE TestDB;
```
- 修改数据库的属性,例如增加日志文件大小
```sql
ALTER DATABASE TestDB
MODIFY FILE (NAME = TestDB_Log, SIZE = 50MB);
```
- 删除数据库
```sql
DROP DATABASE TestDB;
```
2. 基本表的定义
- 创建名为`Employees` 的表,包含员工编号(`ID`)、姓
名(`Name`)和工资(`Salary`)列
```sql
CREATE TABLE Employees (
ID INT PRIMARY KEY,
Name VARCHAR(50),
Salary DECIMAL(10, 2)
);
```
- 修改表结构,添加部门(`Department`)列
```sql
ALTER TABLE Employees
ADD Department VARCHAR(50);
```
- 删除表
```sql
DROP TABLE Employees;
```
二、总结
通过这个实验,你应该学会了如何使用SQL 语句创建、修改和删除数据库,以及定义基本表的结构。
《数据库系统原理及应用》实验报告 实验一 数据库定义
《数据库系统原理及应用》实验报告实验一数据库定义数据库系统原理及应用实验一数据库定义在《数据库系统原理及应用》课程中,实验一是关于数据库定义的实验。
本次实验的主要目的是通过实践操作,掌握数据库的定义过程,了解数据库的基本概念和术语,并学习使用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数据库的创建与管理
实验1 数据库的创建与管理1.1 实验目的(1)掌握开发环境的基本功能和使用方法。
(2)掌握数据库的建立方法。
(3)掌握图形界面下的数据表设计方法。
(4)掌握数据表记录的“增删改查”方法。
(5)掌握数据库的导入导出方法。
1.2 实验内容与步骤1.2.1 建立数据库启动MS SQL SERVER 2005,并建立学生管理数据库,文件名为学生自己姓名首字母的缩写,如张大千同学缩写为ZDQ。
设置库的大小50M,日志文件大小25M的新数据库。
1.2.2数据表的设计参照教材P50页的要求逻辑设计表,为自己实现以下3个表:学生表:Student(Sno, Sname, Ssex, Sage, Sdept);课程表:Course(Cno, Cname, Credit, Semester);学生选课表:SC(Sno, Cno, Grade)设计要求:(1) 定义关系模式(包括表名,属性名,属性类型及长度);(2) 定义表的主码及外码。
1.2.3 数据表记录的“增删改查”操作至少输入学生记录10条、系别4个、课程10个,便于后续实验的数据操纵、视图设计和数据控制处理。
数据库还原:数据库备份:实验2 数据操纵 2.1 实验目的(1)掌握SQL语言中数据查询和数据更新的语句(2)掌握SQL语言中数据更新的语句(3)掌握使用SQL语句进行视图的定义的方法2.2 实验步骤2.2.1使用SQL语句完成数据查询完成教材第五章例1到例82的例题题目选出40个进行实验,并把相应的命令语句写入实验报告。
对例45、例51(两种方法(自连接、子查询))以及外连接的操作在实验报告中给出运行结果。
2.2.2 使用SQL语句完成数据更新完成教材第五章5.2节的例题中的40个,并把相应的命令语句写入实验报告并给出运行结果。
1.SELECT Sname,Sage FROM StudentSELECT Sname,Sno,Sdept FROM StudentSELECT * FROM StudentSELECT Sname,2014-Sage FROM StudentSELECT Sname,Sage FROM StudentWHERE Sage<216.SELECTStudent.Sno,Student.Sname,Student.Ssex,Student.Sage,Student.Sdept,SC. Grade FROM Student INNER JOIN SCON Student .Sno=SC.SnoSELECT Sname,Sdept,Sage FROM StudentWHERE Sage BETWEEN 20 AND 23SELECT Sname,Ssex FROM StudentWHERE Sdept IN('xinxi','tongxin','shuxue')SELECT*FROM StudentWHERE Sname LIKE'a%'SELECT*FROM StudentWHERE Sname LIKE'[abc]%'11.SELECT*FROM StudentWHERE Sname LIKE'_[1]%'SELECT*FROM StudentWHERE Sname NOT LIKE'[ab]%'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Student.Sno NOT IN(SELECT Sno FROM SCWHERE Cno ='a001')SELECT DISTINCT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Student.Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Sname,Sdept,Grade AS'tiyu'FROM Student JOIN SC ONStudent.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='tiyu'AND Grade >(SELECT AVG(Grade)FROM SC JOIN Course ON o=oWHERE Cname='tiyu')16.SELECT Sname,Sdept FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'SELECT Sno,AVG(Grade)FROM SCGROUP BY SnoHAVING AVG(Grade)>(SELECT AVG(Grade)FROM SC)SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROMStudent JOIN SC ON Student.Sno=SC.SnoSELECT Sname,Sage FROM StudentWHERE Sdept ='shuxue'AND Sage=(SELECT MAX(Sage)FROM Student)SELECT Sno,Grade FROM SCWHERE Cno ='100'AND Grade>(SELECT AVG(Grade)FROM SC)21.SELECT COUNT(*)'选课门数',AVG(Grade)'平均成绩'FROM SCWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname='shujuku')GROUP BY SnoSELECT Sno,Sname FROM StudentWHERE Sno IN(SELECT Sno FROM SC JOIN Course ON o=oWHERE Cname ='shujuku')SELECT Sname,Ssex FROM StudentWHERE Sdept ='xinxi'AND Sno IN(SELECT Sno FROM SCWHERE Cno ='100')SELECT Student.Sno,Sname FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Grade >=90SELECT*FROM StudentWHERE Sdept IN(SELECT Sdept FROM StudentWHERE Sname ='a1')AND Sname !='a1'26.SELECT TOP 2 WITH TIES Cno,COUNT(*)'人数'FROM SCGROUP BY CnoORDER BY COUNT(*)ASCSELECT TOP 3 WITH TIES Sname,Sdept,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname ='shujuku'ORDER BY Grade DESCSELECT TOP 3 WITH TIES Sname,Sage,Sdept FROM StudentORDER BY Sage DESCSELECT COUNT(*)FROM Student JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(*)DESCSELECT Student.Sno,COUNT(o)FROM Student LEFT JOIN SC ON Student.Sno=SC.SnoWHERE Sdept ='xinxi'GROUP BY Student.SnoORDER BY COUNT(o)DESC31. SELECT Sname,Ssex FROM Student LEFT JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'AND Cno IS NULLSELECT Cname FROM SC RIGHT JOIN Course ON o=oWHERE Sno IS NULLSELECT Student.Sno,Sname,o,Grade FROM SC RIGHT JOIN Student ON SC.Sno=Student.SnoSELECT Cname,Credit FROM CourseWHERE Credit =(SELECT Credit From CourseWHERE Cname ='gaoshu')AND Cname !='gaoshu'SELECT Sdept,AVG(Grade)FROM SC JOIN Student ON SC.Sno=Student.Sno GROUP BY Sdept36. SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'SELECT Sname,Sdept FROM Student JOIN SC ON Student.Sno=SC.Sno JOIN Course ON o=oWHERE Cname='shujuku'AND Sdept ='xinxi'SELECT Sname,Cno,Grade FROM Student JOIN SC ON Student.Sno=SC.Sno WHERE Sdept ='xinxi'SELECT Sdept,COUNT(*)FROM StudentWHERE Sage <=20GROUP BY Sdept40.SELECT Sno,COUNT(*)FROM SCGROUP BY SnoHAVING COUNT(*)>=2。
数据库 实验一
补充作业及实验一1填空题(1)假设表中某列的数据类型为varchar(100) ,而输入的字符串为“ahng3456”,则存储的字节是__8______。
(2)SQL Server 2000局部变量名字必须以_____@____开头,而全局变量名字必须以______@@___开头。
(3)在SQL Server 2000中,字符串常量由____单引号_____引起来,日期型常量由___单引号______引起来。
(4)在SQL Server 2000中,货币型常量由_____$____前缀引导,双字节字符串型常量由_________前缀引导,二进制型常量由____0x_____前缀引导。
(5)语句 select floor(17.4), floor(-214.2), round(13.4382,2), round(-18.4562,3)的执行结果是: ____17_____、____-215_____、___13______和___-18.456______。
(6)语句select ascii('B'), char(67), len(' 你是tiger ') 的执行结果是: ___66______、____67_____和_________。
(7)语句select upper('beautiful') , lower('BEAUtiful') 的执行结果是:___BEAUTIFUL_________和_______beautiful____。
BEAUTIFUL, beautiful(8)语句select reverse(6789), select reverse('你是狼') 的执行结果是: ____9876________和___狼是你________。
(9)语句 select ltrim (' 我心中的太阳'), rtrim ('我心中的白马王子 ') 的执行结果是: _______我心中的太阳___________和________我心中的白马王子____________。
数据库实验指导(071125)
《数据库系统原理》实验指导书索剑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语言再次实现上述过程。
数据库实验报告
实验(一): 熟练掌握SQL语言实验目的:熟悉上机环境,创建数据库,在数据库上建立关系模式,插入数据,进行相应的查询操作。
实验内容:具体包括如下三部分。
一、熟悉上机环境。
客户/服务器结构,数据库服务器在一台NT服务器上,同学们通过客户机(操作系统为Windows 2000)上安装的SQL Server客户端程序, 使用SQL Server数据库服务器。
具体包括:1.了解SQL Server 环境。
鼠标点击开始,进入“Microsoft SQL Server→企业管理器”,点击SQL Server组下的数据库服务器(服务器名称为NEUC-201S(Windows NT)), 可以看到服务器上的圆形标志变为绿色,说明客户端程序已与服务器连接成功。
点击服务器(NEUC-201S(Windows NT))下的数据库,可以看到服务器上已建立的数据库,你可访问你有权访问的数据库,并进行相应的操作功能。
因为,数据库服务器上建有许多数据库, 每个数据库都有一些合法的用户。
2.鼠标点击开始,进入“Microsoft SQL Server→查询分析器”,输入用户名和口令,进入SQL查询分析器。
如:你登录的客户机为27号,那么请以用户名user27,口令为user27登录,登录后缺省连到数据库user27上,user27/user27是数据库user27的创建者,因此用户user27/ user27具有在数据库user27上创建表等一切权力。
3.在SQL查询分析器环境下,你就可进行SQL命令语句操作了。
二、在数据库useri上创建学生选课有关关系模式,并插入相应的数据,实现有关查询。
1.描述学生、课程情况的E-R图如下,请将其转化为用关系数据模型描述的关系模式CREA TE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20) UNIQUE,Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20));CREA TE TABLE Course(Cno CHAR(4) PRIMARY KEY,Cname CHAR(40),Cpno CHAR(4),Ccredit SMALLINT,FOREIGN KEY (Cpno) REFERENCES Course(Cno) );CREA TE TABLE SC(Sno CHAR(9),Cno CHAR(4),Grade SMALLINT,PRIMARY KEY(Sno,Cno),FOREIGN KEY(Sno) REFERENCES Student(Sno), FOREIGN KEY(Cno) REFERENCES Course(Cno) );4在已建立的关系模式之上(已插入一些数据)建立主键约束,参照约束和用户定义的约束(要求学生年龄不小于14岁,不大于35岁),如果约束不能建立,请分析原因,修改后建立上述约束。
数据库实验报告全
数据库实验报告全实验⼀实验⽬的1.熟悉SQL Server Management Studio(SSMS)的⼯作环境2.掌握使⽤和命令建⽴数据库的⽅法3.熟练掌握使⽤SSMS和T-SQL语句创建、修改和删除表。
4.熟练掌握使⽤SSMS和T-SQL语句插⼊、修改和删除表数据。
实验内容1.采⽤SQL Server Management Studio 、T-SQL语句两种⽅式创建产品销售数据库,要求:1)使⽤SSMS创建数据库CPXS_bak,数据⽂件初始⼤⼩为5MB,最⼤⼤⼩50MB,按5MB增长;⽇志⽂件初始为2MB,最⼤可增长到10MB,按2MB增长;其余参数取默认值。
2)⽤T-SQL语句创建数据库CPXS,数据⽂件的增长⽅式改为增长⽅式按10%⽐例增长,其余与CPXS_bak。
3)⽤T-SQL语句删除数据库CPXS_bak。
2.CPXS数据库包含如下三个表:1)产品(产品编号,产品名称,价格,库存量)2)客户(客户编号,客户名称,地区,负责⼈,电话)3)销售(产品编号,客户编号,销售⽇期,数量,销售额)三个表结构如资料中图3.1~图3.3所⽰,请写出创建以上三个表的T-SQL语句并在查询分析器中运⾏。
3.在SSMS中输⼊如资料中图3.4~图3.6的商品表、客户表和销售表的样本数据。
6.将CP表中每种商品的价格打8折。
7.将CP表中价格打9折后⼩于1500的商品删除。
⼆.实验步骤与结果(说明:要写出相关步骤和SQL语句,实验结果可以是运⾏画⾯的抓屏,抓屏图⽚要尽可能的⼩。
)1.1)使⽤SSMS创建数据库CPXS_bak效果图为2)⽤T-SQL语句创建数据库CPXS:CREATE DATABASE CPXSON PRIMARY(NAME='CPXS_DATA',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_DATA.MDF', SIZE=5MB,MAXSIZE=50MB,FILEGROWTH=10%)LOG ON(NAME='CPXS_LOG',FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\CPXS_LOG.LDF', SIZE=2MB,MAXSIZE=10MB,FILEGROWTH=2MB)3) DROP DATABASE CPXS_bak刷新数据库会看到CPXS_bak不存在2.1) USE CPXSGOCREATE TABLE产品(产品编号char(6)PRIMARY KEY,产品名称char(30)NOT NULL,价格float(8),库存量int,)2) USE CPXSGOCREATE TABLE客户(客户编号char(6)PRIMARY KEY,客户名称char(30)NOT NULL,地区char(10),负责⼈char(8),电话char(12))3)USE CPXSGOCREATE TABLE销售(产品编号char(6),客户编号char(6),销售⽇期datetime,数量int NOT NULL,销售额float(8)NOT NULL,CONSTRAINT pk_js PRIMARY KEY(产品编号,客户编号,销售⽇期))/*pk_js为约束名*/ 执⾏完上⾯的操作就能看见表已经添加进数据库中,如图所⽰:3. 打开表:在其中添加数据:4.1)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200001','柜式空调','3000','200')2)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200002','微波炉','1000','100')3)USE CPXSINSERT INTO产品(产品编号,产品名称,价格,库存量) VALUES('200003','抽油烟机','1200','50')可以看见图中的产品表增加了如下内容:5.USE CPXSALTER TABLE产品Add产品简列varchar(50)6. USE CPXSUPDATE产品set价格=价格*0.87. USE CPXSDELETE产品WHERE价格*0.9<1500三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。
数据库原理及应用实验报告(1)
实验一数据库及表的创建与修改一、实验目的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软件的操作不熟悉,以至在实验的过程中,出现了很多的问题。
数据库实验一
《数据库原理与应用》实验报告实验一、定义数据库和表一、实验环境Windows 2003 Server、SQL Server 2008二、实验目的掌握使用企业管理器提供的图形化交互窗口创建、修改数据库、表结构与整性约束、建立索引,掌握创建、修改数据库、表结构与整性约束的SQL语句。
掌握使用企业管理器提供的图形化交互窗口输入、修改和删除表中的记录,掌握输入、修改和删除表中的记录的SQL语句。
三、实验方法(1)利用资源管理器在D盘上建立“学号姓名DB”命名的文件夹,以便保存数据库。
按设计好数据库和表结构创建数据库与表结构的SQL语句完成数据库与表的建立,以及记录的操作。
(2)利用SQL Server 200X DBMS的交互式界面窗口练习建立数据库SDB1与Dept1、T1、S1、C1、SC1表,以及记录的操作。
四、具体操作及结论分析1.建立数据库SBD的SQL语句Create database sdbon primary(name=sdb_data,filename='D:\xxxDB\xxx.mdf',size=100MB,maxsize=200MB,filegrowth=20MB)log on(name=sdb_log,filename='D:\xxxDB\xxx.ldf',size=50MB,maxsize=100MB,filegrowth=10MB)USE sdb1.建立表Dept、T、S、C、SC的SQL语句create table dept(dno char(2) primary key,dname varchar(30) unique not null,dean char(10),adddress varchar(40))create table t(tno char(4) primary key,dno char(2) references dept(dno),tn varchar(10) not null,sex char(2) check(sex='男' or sex='女'),title char(10) check(title in('教授','副教授','讲师')))create table s(sno char(4) primary key,sn varchar(10),sex char(2) check(sex='男' or sex='女'),age int check(age>=17 and age<=25),dno char(2) references dept(dno),bp varchar(20))create table c(cno char(2) primary key,cn char(10),period int not null,tno char(4) references t(tno),class char(20) check(class in('公共基础','专业基础','专业课','专业选修')))create table sc(sno char(4) references s(sno),cno char(2) references c(cno),grade int not null check(grade between 0 and 100),primary key(sno,cno))2.修改教师表T的SQL语句(给表T增加一个字段:PHON,并定义合适的数据类型)alter table t add phon varchar(10);3.分别给出Dept、T、S、C、SC三个表,每个表插入2条记录的SQL语句insert into dept values('01','外语学院','史宝辉','教5011');insert into dept values('02','工学院','俞国辉','森801');insert into t values('0101','01','李健','男','教授');insert into t values('0202','02','张青','女','教授');insert into s values('0101','李成占','男','19','01','河南');insert into s values('0202','马驰','男','18','01','辽宁');insert into c values('01','数学','80','0101','公共基础');insert into c values('02','英语','120','0101','公共基础');insert into sc values('0101','01','80');insert into sc values('0101','02','85');4.给出一条修改SC表记录的SQL语句update sc set grade=0 where sno='0101' and cno='02';5.给出一条删除C表中一条记录的SQL语句delete from sc where cno='02';delete from c where cno='02';7.讨论回答下面问题(1)建立表的顺序有要求吗?为什么?有要求,因为表与表之间有参照完整性约束关系,所以得先建立被参照的表,即充当主键的表,后建其它表,即作为外建的表。
数据库实验1:SQL查询操作
数据库实验1: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。
今有若干数据如下:S表:SNO SNAME STATUS CITYS1 精益20 天津S2 盛锡10 北京S3 东方红30 北京S4 丰盛泰20 天津S5 为民30 上海P表:PNO PNAME COLOR WEIGHTP1 螺母红12P2 螺栓绿17P3 螺丝刀蓝14P4 螺丝刀红14P5 凸轮蓝40P6 齿轮红30J表:JNO JNAME CITY J1 三建北京J2 一汽长春J3 弹簧厂天津J4 造船厂天津J5 机车厂唐山J6 无线电厂常州J7 半导体厂南京SPJ表:SNO PNO JNO QTY S1 P1 J1 200S1 P1 J3 100S1 P1 J4 700S1 P2 J2 100S2 P3 J1 400S2 P3 J2 200S2 P3 J4 500S2 P3 J5 400S2 P5 J1 400S2 P5 J2 100S3 P1 J1 200S3 P3 J1 200S4 P5 J1 100S4 P6 J3 300S4 P6 J4 200S5 P2 J4 100S5 P3 J1 200S5 P6 J2 200S5 P6 J4 500首先进行创建数据库、表,插入数据等操作。
数据库原理实验一-数据库和表的创建与管理
一.实验内容、步骤以及结果1.利用图形用户界面创建,备份,删除和还原数据库和数据表(1)创建SPJ数据库,初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名均采用默认值。
(2)在SPJ数据库中创建如图2.1-图2.4的四张表(3)备份数据库SPJ(第一种方法):备份成一个扩展名为bak的文件。
(提示:最好先删除系统默认的备份文件名,然后添加自己指定的备份文件名)(4)备份数据库SPJ(第二种方法):将SPJ数据库定义时使用的文件(扩展名为mdf,ldf的数据文件、日志文件等)复制到其他文件夹进行备份。
(5) 删除已经创建的工程项目表(J表)。
(6) 删除SPJ数据库。
(可以在系统默认的数据存储文件夹下查看此时SPJ数据库对应的mdf,ldf文件是否存在)(7) 利用备份过的bak备份文件还原刚才删除的SPJ数据库.(还原数据库)(8) 利用备份过的mdf,ldf的备份文件还原刚才删除的SPJ数据库。
(附加)(9)将SPJ数据库的文件大小修改为100MB。
(10) 修改S表,增加一个联系电话的字段sPhoneNo,数据类型为字符串类型。
2。
利用SQL语言创建和删除数据库和数据表(1)用SQL语句创建如图2.5—图2.7要求的数据库Student, 初始大小为20MB,最大为100MB,数据库自动增长,增长方式是按10M兆字节增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名和物理文件名,日志文件名请自定义。
(2) 用SQL语句创建上述的三张表,各个字段的数据类型请自己确定,每张表只要有主键约束即可,不要其他约束.不用输入数据。
(3)用SQL中的backup 语句将数据库Student备份到一个bak文件。
(提示:backup database student to disk)——备份:BACKUP DATABASE ”student”TO DISK ='C:\lzcDB1\mybak1015.bak’(4)用SQL语句删除创建的表。
实验1 数据库创建-实验报告
实验一创建数据库和表一、实验目的和要求熟悉上机环境和查询分析器界面;掌握如何启动、停止服务管理器和企业管理器的方法;掌握如何用企业管理器定义数据库、表、约束,如何向表中添加、修改、输出记录,如何查看表的内容等操作;掌握如何在查询分析器中,执行SQL语句、分析语句的执行结果;掌握如何在查询分析器中,用DDL语言定义数据库、表、约束,并用最简单的INSERT语句向表中添加记录。
二、实验内容及指导1.○1启动服务管理器○2使用企业管理器,创建StudentInfo数据库○3在该数据库里定义Students、Courses、Enrollment3个表,问题是开始的时候不清楚如何添加约束,后来知道是在默认值或绑定处添加,也可以右击列名,选择CHECK约束添加○4向3个表中添加若干记录,因为有约束存在,所以如果输入不在约束范围内就会报错。
○5查看已创建的数据库和3个表的内容2.实验2的“提高操作”,具体内容如下:表3- 1图书表结构表3- 2读者表结构表3- 3借阅表结构用SQL语句创建的数据库不知道放在了哪里,创建的3个表也不知道放在了哪里,而且那三个表建完后不在图书馆数据库里面,后来找到了图书馆数据库在安装盘D盘底下的DA TA文件中,3个表在master数据库里,于是又在每个表的前面加了一句话“USE 图书馆 GO”重新保存之后这三个表就在图书馆数据库里面了。
还有一个办法是这样建数据库,如创建一个名为scd3的数据库:create database scd3on primary(name='scd3',filename='g:\scd2\scd3.mdf')log on(name='scd3_log',filename='g:\scd2\scd3_log.ldf')这样所创建的数据库就放在了g盘底下scd2文件夹中。
USE scd3CREATE TABLE用户(ID CHAR(8)PRIMARY KEY,NAME NVARCHAR(20)NOT NULL,PWD NVARCHAR(20)NOT NULL)GO新建的用户表即在scd3数据库中。
数据库实验
10.通过视图V_IS,分别将学号为“S1”和“S4”的学生姓名更改为“S1_MMM”,”S4_MMM” 并查询结果;
11.通过视图V_IS,新增加一个学生记录 ('S12','YAN XI',19,'IS'),并查询结果;
12. 通过视图V_IS,新增加一个学生记录 ('S13','YAN XI',19,'MA'),并查询结果;
3、 分别在表Student、SC上按“sno”列的唯一值方式建立索引,可能出现问题吗?情况有什么区别?
4、 能否在非主属性列上建立索引?其恰当的方式是什么?
九、பைடு நூலகம்题
1、 在表的定义中,如何确定属性是 NOT NULL / NULL? ( 主码 ,关键字,主属性/主属性)
2、 能否将Student,Course,SC表单独以一个数据文件的形式保存在磁盘上?
1.在表Student、Course、SC上进行简单查询、连接查询、嵌套查询;
2.使用聚合函数的查询;
3.对数据的分组查询;
4.对数据的排序查询。
七、实验内容
在表Student,Course,SC上完成以下查询:
1. 查询学生的基本信息;
2. 查询“CS”系学生的基本信息;
3. 查询“IS”系学生年龄不在19到21之间的学生的学号、姓名;
实验一 数据描述、定义实验
实验时间:3月24日
一、学时
4学时
二、实验类型
演示、设计
三、实验目的
1、熟悉和掌握数据库的创建和连接方法;
mysql数据库实验答案
实验一创建、修改数据库和表结构1、用create建立教学数据库的五个基本表:(1)学生表(学号,姓名,性别,年龄),student((Sno, sname,ssex,sage) ;(2)课程表(课程号,课程名,学分),Course (Cno, Cname, credit) ;(3)选课表(学号,课程号,成绩),SC (Sno,, Cno, grade ) ;(4) 教师表(教师号,姓名,性别,出生年月,系部,职称,地址),T(Tno,Tname,ssex,birthday,dept,title,address) ;(5) 工资表(教师号,基本工资,职务工资,合计),Salary(Tno,jbgz,zwgz,hj);Create Database Student default character set utf8 default COLLATE utf8_bin;Use Student;Create Table Student(SNo c har(20) primary key,SName char(20) ,SSex char(4) default '男',SAge int) ENGINE=InnoDB;Create Table Course(CNo c har(20) primary key,CName char(20) NOT NULL,CRedit f loat) ENGINE=InnoDB;Create Table SC(SNo c har(20) NOT NULL,CNo c har(20) NOT NULL,Grade float,Primary Key(SNo, CNo),Foreign Key(SNo) References Student(SNo) On Delete Cascade,Foreign Key(CNo) References Course(CNo))ENGINE=InnoD B;Create Table T(TNo c har(20) Primary Key,TName char(20) NOT NULL,TSex char(4) default '男',birthday DateTime,dept char(20),title char(20),address char(20))ENGINE=InnoDB;Create Table Salary(TNo c har(20) NOT NULL,jbgz float,zwgz float,hj float,Foreign Key(TNo) References T(TNo) On Delete Cascade)ENGINE=InnoDB;2、用alter修改基本表(1)在已存在的学生表student中增加一个sdept(系)的新的属性列;alter table Student add Dept char(20);(2)将学生表student中sname属性列的数据类型修改为变长字符串varchar(10)。
实验1:数据库创建与维护
实验一数据库创建与维护一.实验目的1.掌握SQL Server的主要工具SQL Server Management Studio的使用方法。
2.理解SQL Server数据库的逻辑结构和物理结构,理解数据表的结构特点以及数据完整型约束的概念、索引的基本概念。
4.掌握在SQL Server Management Studio中创建和维护数据库、数据表结构的方法。
5.了解对数据表添加、删除和更新数据记录的方法,了解在数据表上创建索引的方法。
二.实验环境SQL Server Management Studio三.实验内容1.创建一个名称为BookStore的数据库,支持网上书店系统的信息管理。
要求:(1)将主数据库文件BookStore.MDF放置在的D:\DBF文件夹中,文件大小为5MB,文件增量为2MB,不限制增长。
(2)将事务日志文件BookStore_log.LDF放置在的D:\DBF文件夹中,文件大小为2MB,最大值为10MB,文件按10%增长。
提示:在创建数据库之前,如果D:\DBF文件夹不存在,应先创建。
2.在BookStore数据库(见附件)中按表1.1(a)~表1.8(a)所示的表结构建立数据表,并且为各个表定义相应的域完整性约束,定义主关键字实现实体完整性约束。
如果时间紧张,只需建立Book、Publisher、Customer表。
3.在BookStore数据库的各个相关表之间建立关系,实施参照完整性约束,并创建如图1.5所示的数据库关系图。
提示:注意建立关系的两个字段数据类型必须完全相同。
4.为数据表Book、Publisher、Customer各插入3条记录,各数据表记录如表1.1(b)~表1.8(b)所示。
提示:数据表数据输入要有先后顺序:在关系约束中作为主表的数据应该先输入,外表的数据后输入,并且外键的值是主键中已经存在的值或为空(如果外键允许为空)。
另外,数据输入时要注意已经设置的各种完整性约束。
数据库原理-实验1- 认识SQL Server 管理数据库
一、实验目的1. 了解数据库常用对象及组成;2. 了解SQL Server 数据库的逻辑结构和物理结构;3. 掌握在企业管理器中创建、修改和删除数据库的方法;4. 熟练掌握使用T-SQL 语句创建、修改和删除数据库的方法;5. 熟悉在企业管理器中和使用系统的存储过程分离和附加数据库。
二、实验环境SQL Server 2008三、实验原理(或要求)假设SQL Server 服务已启动,并以Administrator 身份登录计算机;请分别使用Management 界面方式和T-SQL 语句实现以下操作:(创建新的文件夹存放数据库)1.要求在本地磁盘D 创建一个学生-课程数据库(名称为s_+人名汉语拼音首字母+学号尾数),只有一个数据文件和日志文件,文件名称分别为stu 和stulog,物理名称为stu_data.mdf 和stu_log.ldf,初始大小都为5MB,增长方式分别为10%和3MB,数据文件最大为50MB,日志文件大小不受限制。
2. 在数据库s 中增加数据文件db2,初始大小为10MB,最大大小为50 MB,按10%增长;3. 在数据库中添加日志文件db_log,初始大小为3MB,最大无限制,增长方式按照1MB 增长;4. 修改数据库student 主数据文件的大小,将主数据文件的初始大小修改为10Mb,增长方式为20%;5. 修改数据库student 辅助数据文件初始大小为3MB,最大为100MB,按照10%增长,名称为db;6. 删除数据库student 辅助数据文件和第二个日志文件;7. 使用sp_attach_db 和sp_detach_db 附加和分离student 数据库。
四、实验步骤准备知1. 数据库相关属性1)逻辑名称:数据文件和日志文件名称2)文件类型:数据文件及日志文件3)文件组:各个数据文件所属的文件组名称4)初始大小:文件的最原始大小5)自动增长:文件按指定的大小增长,也可限制到最大容量。
数据库实验报告
数据库实验报告(经典版)编制人:__________________审核人:__________________审批人:__________________编制单位:__________________编制时间:____年____月____日序言下载提示:该文档是本店铺精心编制而成的,希望大家下载后,能够帮助大家解决实际问题。
文档下载后可定制修改,请根据实际需要进行调整和使用,谢谢!并且,本店铺为大家提供各种类型的经典范文,如工作总结、工作计划、演讲致辞、策划方案、合同协议、规章制度、条据文书、诗词鉴赏、教学资料、其他范文等等,想了解不同范文格式和写法,敬请关注!Download tips: This document is carefully compiled by this editor. I hope that after you download it, it can help you solve practical problems. The document can be customized and modified after downloading, please adjust and use it according to actual needs, thank you!Moreover, our store provides various types of classic sample essays for everyone, such as work summaries, work plans, speeches, planning plans, contract agreements, rules and regulations, doctrinal documents, poetry appreciation, teaching materials, other sample essays, etc. If you want to learn about different sample formats and writing methods, please stay tuned!数据库实验报告数据库实验报告(通用3篇)数据库实验报告篇1一、实训时间:20_年5月13日至5月24日二、实训地点:三、实训目的与意义:1.这次实习可以使我们在课本上学到的知识用于实践增加了我对电脑技巧的一些认知。
数据库实验1-7
1《实验一 认识DBMS 》在SQL Server 2005中完成以下操作:(1) 建立SC 数据库,数据库命名:SC_姓名拼音+学号后三位,如SC_xiebing131;(2) 在其中建立Student 表、Course 表和SC 表,表结构如下,自己选择各属性的数据类型;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 为主码,并且Sname 取值也唯一 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 为主码,并且Cname 取值也唯一选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码(3) 参照教材在各表中输入一定的记录,在student 表中输入一条自己的记录;(4) 进行表结构的修改和记录的修改、删除操作;(5) 验证教材P45基本关系具有的6个性质;(6) 分离数据库,保存数据库文件,以后上机要带上。
《实验二数据定义》实验内容:(1) 数据库的定义与删除(2)基本表的创建、修改及删除;(3) 索引的创建和删除;(4) 使用SQL 对数据进行完整性控制(实体完整性、参照完整性);(一)使用命令行方式建立SPJ 数据库(1)用SQL 语言建立SPJ 数据库,数据库命名:SPJ-姓名拼音+学号后三位,如SPJ-liyan112;(2)用SQL 语言在其中建立S 表、P 表、J 表和SPJ 表(要求进行完整性定义),表结构如下;厂家 S (SNO ,SNAME ,STA TUS ,CITY ),其中STA TUS (状态)为整型,其他均为字符型产品 P (PNO ,PNAME ,COLOR ,WEIGHT ),其中WEIGHT (重量)为浮点型,其他均为字符型工程 J (JNO ,JNAME ,CITY ),其中各属性均为字符型供应 SPJ (SNO ,PNO ,JNO ,QTY ),其中QTY (供应量)为整型,其他均为字符型建立数据表的语法格式CREA TE TABLE <表名>(<列名><数据类型>[<列级完整性约束条件> ] [,<列名><数据类型>[<列级完整性约束条件>]] …[,<表级完整性约束条件> ] );(3) 参照教材用SQL 语言分别在4个数据表中输入一定的记录;插入数据的语法格式:INSERTINTO <表名> [(<属性列1>[,<属性列2 >…)]V ALUES (<常量1> [,<常量2>] … )(4) 保存SQL 文件,文件名:SPJ-姓名拼音+学号后三位.sql ,如SPJ-xukai012.sql(二)使用命令行方式建立学生课程数据库(1) 用SQL 语言建立学生课程数据库,数据库命名:SC_学号后四位及姓名,如SC_3112liyan ;(2) 用SQL 语言在学生课程数据库中建立3个表,要求进行完整性定义;学生关系Student(Sno ,Sname ,Ssex ,Sage ,Sdept)其中Sno 不能为空,值是唯一的,并且Sname 取值也唯一,Sage 自定义约束“大于16” 课程关系Course(Cno ,Cname ,Cpno ,Ccredit)其中Cno 不能为空,值是唯一的,并且Cname 取值也唯一教师关系Teacher(Tno ,Tname ,Department ,Email ,Salary) 其中Tno 不能为空,值是唯一的选修关系SC(Sno ,Cno ,Grade) 其中Sno 和Cno 不能为空,(Sno, Cno)为主码,Grade 的数据类型为int(3) 修改数据表:✓ 将SC 表中Grade 的数据类型改为f loat ;✓ 在Student 表中增加一个属性Scome 记录学生的入学时间,其数据类型为DATETIME ;✓ 删除Student 表中新增加Scome 属性;✓ 删除表Teacher 表中的Email 属性;✓ 删除Student 表中对Sname 属性创建的Unique 约束。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库实验一报告
实验1.1 使用SQL Server工具(Microsoft SQL Server Management Studio Express)管理数据库
1 实验内容:
(1) 使用SSMS加入实验数据库。
(2) 使用SSMS可视化建立、修改和删除数据库、表。
(3) 使用SSMS对数据库进行备份和恢复。
(4) 使用SSMS对表进行查询、插入、修改、删除。
2 实验步骤:
(1) 加入School数据库。
(2) 建立Test数据库。
(3) 在数据库中建立人员表PERSON(P#,Pname,Page)。
更改表设置P#为主键,增加属性Ptype(类型是CHAR,长度是10)。
(4) 用SSMS的查询功能(新建查询)对PERSON表进行查询、插入、修改、删除等操作:首先插入两条记录;修改第二条记录;删除第二条记录。
(5) 备份Test数据库。
(6) 删除表PERSON。
右键—》删除表
(7) 恢复Test数据库。
(8) 删除Test数据库。
实验1.2 数据定义
1 实验内容:
(1) 使用CREATE语句创建基本表。
(2) 更改基本表的定义,增加列,删除列,修改列的数据类型。
(3) 创建表的升降序索引。
(4) 取消表、表的索引或表的约束。
2 实验步骤:
(1) 使用SQL语句创建关系数据库表:人员表PERSON(P#,Pname,Page)、房间表ROOM(R# Rname,Rarea)、表PR(P#,R#,Date)。
其中:P#是表PERSON的主键,具有唯一性的约束;Page 具有约束“大于18”;R#是表ROOM的主键,具有唯一性约束。
表PR中的P# C#是外键。
create table PERSON(
P# nchar(10) primary key,
Pname nchar(10),
Page nchar(10),
constraint k1 check (Page>18)
)
create table ROOM(
R# nchar(10) primary key,
Rname nchar(10),
Rarea nchar(10)
)
create table PR(
P# nchar(10),
R# nchar(10),
date nchar(10),
foreign key (P#) references PERSON(P#),--外键
foreign key (R#) references ROOM(R#) --外键
)
(2) 更改表PERSON,增加属性Ptype(类型是CHAR,长度是10),取消Page大于18的约束。
把表ROOM中的属性Rname数据长度改成40。
alter table PERSON add Ptype char(10);
alter table PERSON drop k1;
alter table ROOM alter column Rname char(40);
(3) 删除表ROOM中的一个属性Rarea。
alter table ROOM drop column Rarea;
(4) 取消表PR。
drop table PR;--完全删除掉
(5) 为表ROOM创建按R#降序排列的索引。
create index RO on ROOM(R# desc);
(6) 为表PERSON创建按P#升序排列的索引。
create index PE on PERSON(P# asc);
(7) 创建表PERSON的按Pname升序排列的唯一性索引。
create unique index Pna on PERSON(Pname asc);
(8) 取消表PERSON的表P#升序索引。
drop index PE on PERSON;
实验总结:
通过本次试验,对SQL server2005的基本配置方法和使用有了初步的掌握,实践了一些表的创建、查询、更新和建立索引的sql编程语句,对课堂上讲的理论是一次巩固和提高。
试验中PR表中存在外键R#和P#,当修改这些键值时受到了约束,即PR中的外键值必须是person表和room表中已经存在的。
因为外键的值依赖母表的主键而存在,不可以取参考主键以外的其他值。