数据库实验1
- 格式:doc
- 大小:324.00 KB
- 文档页数:8
实验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)掌握开发环境的基本功能和使用方法。
(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 ('我心中的白马王子 ') 的执行结果是: _______我心中的太阳___________和________我心中的白马王子____________。
《数据库系统原理》实验指导书索剑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、熟练掌握利用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查询操作题目:设有一个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 SQL SERVER 2008环境
一、实验目的
1.掌握服务管理器的启动和停止方法;
2.掌握SQL Server Management Studio对象资源管理器的使用方法;
3.掌握注册服务器的步骤。
4.掌握E-R图在计算机中的画法。
二、实验学时
2学时
三、实验要求
1.了解SQL Server 2008的安装过程。
2.熟练掌握SQL Server2008数据库服务器的启动方法。
3.熟练掌握SQL Server2008数据库服务器的登录方法和注册方法。
4.掌握E-R图的画法,学会使用Visio画出标准的E-R图。
5.独立完成实验内容,并提交书面实验报告。
四、实验内容
1.了解并熟悉SQL Server 2008的安装方法。
2.登录SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动服务器,登录SQL Server Management Studio等操作;
3. 掌握SQL Server Management Studio对象资源管理器的使用方法;
4.注册SQL Server 2008服务器。
5. 设有【商品】实体型 , 每种商品具有属性“商品编号”、“商品名称”、“单价”、“产地”,另有【顾客】实体型,具有属性“顾客编号”、“姓名”、“住址”等,【顾客】与【商品】的联系上有属性“数量”。
将有关实体型及其联系画出E-R模型图,实践用Visio画,并画在实验报告册中。
五、实验步骤
1. 了解并熟悉SQL Server 2008的安装方法(参见给定幻灯片演示文稿)。
2.启动、暂停、停止SQLSERVER服务
方法1:利用windows services 启动服务
在windows的开始菜单中,依次选择“控制面板/管理工具/服务”,打开windows服务窗口,找到SQL Server(MSSQLSERVER)并双击此服务,打开属性对话框,此时可查看服务的状态。
若处于未启动状态,可单击【启动】按钮将其启动;若计算机设置的是自动启动类型,则该服务已经被启动,单击【暂停】、【停止】可以暂停或停止服务。
方法2:利用SQL Server配置管理器启动服务
在windows的开始菜单中,依次选择“所有程序”→“Microsoft SQL Server 2008”→“配置工具”→“SQL Server配置管理器”,启动SQL Server Configuration Manager。
图1-1
在左侧窗口中单击【SQL Server 服务】,在右窗格中就会显示所有的服务的
运行情况,如果服务前有表示服务开启;如果服务前有表示服务停止。
找到“SQL Server(MSSQLSERVER)”服务,在服务上单击右键,选择“启动”,SQL Server数据库引擎服务启动。
图1-2
在服务名称上单击鼠标右键则可以在菜单中选择【暂停】、【停止】等操作可以将服务暂停或关停。
方法3: 利用命令启动停止服务
在操作系统的任务栏中单击“开始”菜单,选择“运行”命令,在下拉列表框中输入“cmd”命令,单击“确定”按钮。
输入如下命令,即可启动、停止或暂停相应的服务。
启动SQL Server:NET START MSSQLSERVER
暂停SQL Server:NET PAUSE MSSQLSERVER
重新启动暂停的SQL Server:NET CONTINUE MSSQLSERVER
停止SQL Server:NET STOP MSSQLSERVER
3.登录服务器
在使用SQL Server Management Studio管理数据库引擎服务器时,需要首先登录到服务器上,第一次登录时需要将登录界面的“服务器名称”选项修改为本地的计算机名。
同时将身份验证方式改为“Windows身份验证”,然后单击“连接”。
图1-3
获取本地计算机名:右键点击“我的电脑”——>属性——>“计算机名”标签页
4.对象资源管理器的使用
在SQL Server Management Studio的窗口中,左边对象资源管理器,它以目录树的形式组织对象。
右边是操作界面,如“查询分析器”窗口、“表设计器”窗口等。
(1)了解数据库和对象。
在安装SQL Server 2008后,系统生成了4个数据库:master、model、msdb 和tempdb。
在对象资源管理器中单击“系统数据库”,右边显示4个系统数据库。
如图1-4所示。
图1-4 图1-5
打开master数据库前面的加号,观察数据库对象的组织方式。
展开master如图1-5所示的系统表,右击【dbo.spt_values】选项,并在菜单中选择编辑前200行,可以看到该数据表中的内容。
(2)查询分析器的使用
在【SQL Server Management Studio】窗口中单击【新建查询】按钮,在对象资源管理器的右侧出现【查询分析器】窗口。
如图1-6所示。
图1-6
在该窗口中输入下列命令:
USE master
SELECT * FROM dbo.spt_values
GO
单击【!执行】按钮,可执行该条命令。
也可以在执行按钮前的下拉框中选择当
前数据库为“master”,则可以省略“USE master”命令。
(3)了解模板资源管理器的使用方法
单击菜单栏【视图】,选择【模板资源管理器】菜单项,主界面右侧出现【模
板资源管理器】窗口。
在该窗口中找到【database】,双击【create database】,查
看CREATE DATABASE 语句的结构。
4.注册SQL Server 2008服务器
在【SQL Server Management Studio】中的菜单【视图】中选择【已注册的服务器】,
图1-7
弹出已注册服务器窗口,在窗口中的local server Groups上右击鼠标,在菜单中选择【新建服务器注册】。
图1-8
弹出如下新建服务器注册对话框,进行新的服务器注册。
图1-9
也可以选择【新建服务器组】进行组的建立。
输入服务器组名称,单击确定即可。
图1-10
在新建的服务器组下面注册服务器,在新建服务器节点处单击鼠标右键,弹出菜单,选择新建选项下面的服务器注册选项,进行服务器注册,如图所示。
图1-11。