数据库实验1

合集下载

数据库实验1

数据库实验1

实验 1 :数据库的定义实验本实验需要 2 学时。

一、实验目的要求学生熟练掌握和使用SQL 、Transact-SQL 、SQLServer 企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收Transact-SQL 语句和进行结果分析。

二、实验内容1)创建数据库和查看数据库属性。

2)创建表、确定表的主码和约束条件,为主码创建索引。

3)查看和修改表结构。

4)熟悉SQL Server 企业管理器和查询分析器工具的使用方法。

三、实验步骤1 .基本操作实验1)、使用企业管理器建立学生_课程数据库。

2)、在企业管理器中查看学生_课程数据库的属性,并进行修改,使之符合要求。

3)、通过企业管理器,在建好的学生_课程数据库中建立学生、课程和选课3 个表,其结构为:学生( 学号,姓名,性别,出生日期,学院,所在系,联系电话) ;课程( 课程号,课程名,教师,开课学期,学时,学分) ;选课( 学号,课程号,成绩) 。

要求为属性选择合适的数据类型,定义每个表的主码,是否允许空值和默认值等列级数据约束。

4)、在企业管理器中建立学生、课程和选课3 个表的表级约束:每个表的主码约束;学生表与课程表间、课程表与选课表之间的外码约束,要求按语义先确定外码约束表达式,再通过操作予以实现;实现选课表的课程号和学号的惟一性约束;实现学生表性别只能是“男”或“女”的Check( 检查) 约束。

2 .提高操作实验1)、用SQL 描述的建立学生—课程库操作,在SQL Server 企业管理器中实现2) 将设计的数据库应用系统中的数据库、库中的表、索引和约束用Transact-SQL 表达,并通过企业管理器或查询分析器实现建库、建表、建立表间联系和建立必要的索引、列级约束和表级约束的操作。

四、实验方法1 .创建数据库(1)、使用企业管理器创建数据库的步骤1)、从“开始”菜单中选择:程序Microsoft SQL Server 2000 企业管理器。

实验1数据库定义实验 一 实验内容 1、数据库的创建、修改和删除 2、基本表的定义

实验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 语句创建、修改和删除数据库,以及定义基本表的结构。

实验1数据库的创建与管理

实验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。

数据库实验一 简单数据查询

数据库实验一 简单数据查询

实验一简单数据查询
一、实验目的
掌握利用select语句进行简单数据查询。

二、实验要求
写出实训时碰到的问题以及解决问题的办法,完成本次实训的体会。

三、实验内容
1.从student表中检索学生所在班级编码,并消除重复行
2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序
3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行
4.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师
5.查看部门编号为“03”的部门名称。

6.查看部门名称中包含有“工程”两个字的系的全名。

7.显示共有多少个部门。

8.显示“01”年级共有多少个班级。

9.查看在“周二晚”上课的课程名称和教师。

10.查看姓“张”、“陈”、“黄”同学们的基本信息,要求按照姓名降序排列查询结果。

四、实验作业
严格按照各题要求做实验,在实训报告中,需要对知识点进行描述,撰写实验过程及过程中遇到的难点,并给出解决办法或新的心得体会。

数据库实验报告

数据库实验报告

实验(一): 熟练掌握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三.实验中的问题及⼼得(说明:此处应写明此次实验遇到的问题有哪些,如何解决的,不能够空。

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书答案

数据库原理及应用实验指导书 - 答案实验一:数据库管理系统的安装与配置问题一数据库管理系统(DBMS)是一种软件,用于管理和组织数据库。

它允许用户创建,读取,更新和删除数据库中的数据。

常见的数据库管理系统有MySQL,Oracle,SQL Server等。

问题二在实验室环境中,我们将使用MySQL作为我们的数据库管理系统。

以下是MySQL的一些常见特点: - 开源免费 - 跨平台支持 - 可扩展性强 - 有大型的用户社区和丰富的资源支持问题三MySQL的安装步骤如下: 1. 下载MySQL安装文件,可以从MySQL官方网站或者其他可信的下载源获取。

2. 运行安装程序,按照向导的指示进行安装。

3. 选择是否要安装MySQL 服务器和MySQL工具。

4. 设置密码以保护数据库的安全。

5. 完成安装程序并启动MySQL服务。

数据库是一个组织和存储数据的容器。

在关系型数据库中,数据以表的形式存储,每个表包含多个行和列。

每行代表一个记录,每列代表一个字段。

问题五关系型数据库管理系统(RDBMS)是一种DBMS,它使用结构化查询语言(SQL)来操作和处理数据。

常见的关系型数据库管理系统有MySQL,Oracle,SQL Server等。

问题六开放数据库连接(ODBC)是一种标准的数据库访问方法,它允许不同的应用程序通过统一的接口访问不同的数据库管理系统。

ODBC驱动程序充当应用程序和数据库之间的翻译器。

问题七在Windows系统中,ODBC数据源可以通过控制面板的“管理工具”来配置。

在数据源配置对话框中,可以添加,编辑和删除ODBC数据源。

在Windows系统中,可以使用ODBC接口库和ODBC驱动程序来连接和操作数据库。

具体步骤如下: 1. 加载ODBC接口库。

2. 初始化ODBC环境。

3. 建立数据库连接。

4. 执行SQL语句。

5. 关闭数据库连接。

6. 释放ODBC环境。

问题九ODBC接口库是一组API函数,用于连接和操作数据库。

数据库实验1:SQL查询操作

数据库实验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-5

数据库实验1-5

数据库原理实验报告实验__一__题目__ 数据库及根本表的建立__实验__二__题目__ 查询数据库_ 实验__三__题目_创立和使用视图,索引,存储过程实验__四__题目__ 小型数据库规划设计____学院计算机学院专业计算机科学与技术班级级班学号姓名指导教师〔2021年12 月〕计算机学院计算机科学与技术专业班学号:姓名:协________ 教师评定:实验题目数据库及根本表的建立一、实验目的1、掌握SQL SERVER的查询分析器和企业管理器的使用;2、掌握创立数据库和表的操作;二、实验内容和要求1、分别使用SQL语句、企业管理器〔Enterprise Manager〕创立数据库;2、使用SQL语句、企业管理器〔Enterprise Manager〕创立数据库表;三、实验主要仪器设备和材料1.计算机及操作系统:PC机,Windows 2000/xp;2.数据库管理系统:SQL sever 2000/2003/2005;四、实验方法、步骤及结果测试创立一个教学管理数据库SC,其描述的信息有:学生信息、课程信息、教师信息、学生选课成绩、授课信息、班级信息、系部信息、专业信息。

创立:student表(学生信息表)、course表〔课程信息表)、teacher表〔教师信息表)、student _course表〔学生选课成绩表)、teacher_course表〔教师上课课表〕等。

1、创立数据库:确定数据库名称;数据库用于学生管理,命名为SC确定数据库的位置;要求:数据文件和日志文件分别存储在E盘自己的目录下。

确定数据库的大小;根据实际的数据量确定数据文件的初始大小为30MB,日志文件的初始大小为3MB。

确定数据库的增长;根据实际情况,确定数据文件按20%增长,日志文件按1MB增长。

〔1〕、利用查询分析器〔Query Analyzer〕,使用SQL语句指定参数创立数据库;SQL语句:CREATE DATABASE SC ON(NAME=SC_DAT, FILENAME='E:\SC.mdf', SIZE=30MB, FILEGROWTH=20%)LOG ON(NAME=SC_LOG, 查询分析器执行情况:SQL语句及执行结果截图显示FILENAME='E:\SC.ldf',SIZE=2MB,FILEGROWTH=1MB)2、创立根本表利用查询分析器,使用SQL语句方式创立方式将下面各表建立到教学管理数据库中。

东华大学计算机学院 研究生 数据库实验1

东华大学计算机学院 研究生 数据库实验1

东华大学计算机学院研究生数据库实验1东华大学计算机学院研究生数据库实验1数据库系统实现数据库系统同时实现实验报告实验名称:实验1:twophase,multiwaymerge-sort姓名:王国林(2131524)指导老师:王洪亚日期:2021年10月20日一、实验目的:通过merge-sort算法的实现,掌握外存算法所基于的i/o模型与内存数据库系统同时实现算法基于的ram模型的区别;理解不同的磁盘访问优化方法是如何提高数据访问性能的。

二、实验内容:生成一个具有10,000,000个记录的文本文件,其中每个记录由100个字节组成。

实验只考虑记录的一个属性a,假定a为整数类型。

记录在block上封装时,采用non-spanned方式,即块上小于一个记录的空间不使用。

block的大小可在自己的操作系统上查看,xp一般为4096bytes。

在内存分配50m字节的空间用于外部merge-sort。

要求设计和实现程序完成下列功能:1.分解成文本文件,其中属性a的值随机产生。

2.按照ppt中的方法对文本文件中的记录,按照属性a进行排序,其中在第二阶段的排序中每个子列表使用一个block大小的缓冲区缓冲数据。

3.按照教材cylinder-basedbuffers(1mbytes)的方法,修正第二阶段的算法。

4.比较两种方法的时间性能,如果有更大的内存空间,算法性能还能提高多少?三、实验分析:一个具有10,000,000个记录的文本文件共计50mb,50mb/4kb=50*102410,000,000*100b=1000mb,而内存只有kb/4kb=12800块,每块可以放置4*1024b/100b=40个记录,每块余下96kb,内存一共可以放置12800*40=512000个记录,一共存有10,000,000个记录。

所以必须展开10,000,000/512000=19.53次,即20次排序,每次排序的记录数为10,000,000/20=500,000个记录。

数据库系统原理上机实验

数据库系统原理上机实验

数据库系统原理上机实验实验1数据库系统及数据库基础操作1、实验目的1)熟练掌握SQL Server的使用方法。

2)理解和掌握数据库DDL语言,能够熟练地使用SQL DDL语句创建、修改和删除数据库、模式和基本表。

2、实验主要内容1)安装SQL Server集成环境。

2)理解和掌握SQL DDL语句的语法,特别是各种参数的具体含义和使用方法;使用SQL语句创建、修改和删除数据库和基本表。

掌握SQL语句常见语法错误的调试方法。

3、设备要求1)PC一台实验2 SQL语言—SELECT查询操作1、实验目的要求1)掌握SQL程序设计基本规范,熟练运用SQL语言实现数据基本查询,包括单表查询、分组统计查询和连接查询。

2)掌握SQL嵌套查询和集合查询等各种高级查询的设计方法等。

2、实验主要内容1)针对SQL Server数据库设计各种单表查询语句、分组统计查询语句;设计单个表针对自身的连接查询,设计多个表的连接查询。

理解和掌握SQL查询语句各个子句的特点和作用,按照SQL程序设计规范写出具体的SQL查询语句,并调试通过。

2)针对SQL Server数据库,正确分析用户查询要求,设计各种嵌套查询和集合查询。

3、实验仪器设备1)学生每个一台PC机2)已安装SQL Server环境实验3SQL语言—更新操作、视图、索引等操作1、实验目的要求1)熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改、删除操作。

2)熟悉SQL语言有关视图的操作,能够熟练使用SQL语句来创建需要的视图,定义数据库外模式,并能使用所创建的视图实现数据管理。

3)掌握索引设计原则和技巧,能够创建合适的索引以提高数据库查询。

2、实验主要内容1)针对SQL Server数据库设计单元组插入、批量数据插入、修改数据和删除数据等SQL语句。

理解和掌握INSERT、UPDATE和DELETE语法结构的各个组成成分,结合嵌套SQL子查询,分别设计几种不同形式的插入、修改和删除数据的语句,并调试成功。

mysql数据库实验答案

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:数据库创建与维护

实验一数据库创建与维护一.实验目的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- 认识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-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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库原理实验报告
实验名称:数据库基本操作
实验内容:
1、完成75页习题5第3-5小题的各项查询:
(3)求供应工程J1零件为红色的供应商号码SNO:
SELECT SNO
FROM SPJ
WHERE JNO='J1'
AND PNO IN
(SELECT PNO
FROM P
WHERE COLOR='红')
(4)求没有使用天津供应商生产的红色零件的工程号JNO:
SELECT JNO
FROM J
WHERE JNO NOT IN
(SELECT JNO
FROM SPJ
WHERE SNO IN
(SELECT SNO
FROM S
WHERE CITY='天津')
AND
PNO IN
(SELECT PNO
FROM P
WHERE COLOR='红')
)
(5)求至少用了供应商S1所供应的全部零件的工程号JNO:
SELECT DISTINCT JNO
FROM J
WHERE JNO NOT IN
(SELECT JNO
FROM P PX
WHERE NOT EXISTS
(SELECT PNO
FROM SPJ SPJX
WHERE SPJX.PNO=PX.PNO AND SPJX.SNO='S1'
AND NOT EXISTS
(SELECT PNO
FROM SPJ SPJY
WHERE SPJY.JNO=J.JNO AND SPJY.PNO=PX.PNO))
)
2、查询每个城市供应的零件总数。

(1)供应城市:天津
SELECT SUM(QTY)
FROM SPJ SPJX
WHERE SNO IN
(SELECT SNO
FROM S SX
WHERE SX.SNO=SPJX.SNO AND SX.CITY='天津'
)
(2)供应城市:上海
SELECT SUM(QTY)
FROM SPJ SPJX
WHERE SNO IN
(SELECT SNO
FROM S SX
WHERE SX.SNO=SPJX.SNO AND SX.CITY='上海'
)
(3)供应城市:北京
SELECT SUM(QTY)
FROM SPJ SPJX
WHERE SNO IN
(SELECT SNO
FROM S SX
WHERE SX.SNO=SPJX.SNO AND SX.CITY='北京'
)
3、查询使用零件数量最多的项目编号和零件数。

(1)使用零件数量最多的项目编号:
(2)数量最多的零件数:
SELECT JNO
FROM SPJ
WHERE
(SELECT MAX(QTY)
FROM SPJ SPJX
WHERE
(SELECT JNO
FROM SPJ SPJY
WHERE SPJX.JNO=SPJY.J NO))
SELECT MAX(QTY)
FROM SPJ
WHERE
(SELECT SUM(QTY)
FROM SPJ SPJX
WHERE
(SELECT SNO
FROM SPJ SPJY
WHERE SPJX.SNO=SPJY.SNO
))。

相关文档
最新文档