数据库实验一 数据定义与简单查询实验(代码加截图)
- 格式:doc
- 大小:2.24 MB
- 文档页数:11
实验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、要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表索引和修改表结构,并学会使用SQL Server 查询分析器。
2、掌握查看、修改数据库和表的属性的方法3、在建立好的数据库表中输入部分虚拟数据,学会如何实现基于单表的简单查询。
二、实验内容(根据选定的数据库设计题目,设计相关E—R图,转换为关系模式,创建相应的数据库,并输入部分正确数据,作为测试数据。
下面以图书读者数据库为例,介绍实验步骤)1、使用SQL Server 2005/SQL Server2008创建一个数据库,例如:“图书读者数据库”(Book_Reader_DB);步骤:(1)开始菜单查找,Microsoft SQL Server 2005/2008点击如下启动(2)启动界面如下:在服务器名称中输入本机计算机名\SQLEXPRESS,一般情况下默认可以直接点击连接。
(3)点击左上角新建查询(4)新建查询,在打开页面内可输入SQL语句,如下创建Book_Reader_DB数据库(5)执行命令后提示“命令已成功完成。
”则数据库创建完成2、使用企业管理器和在查询分析器中用Transact-SQL语句的两种方法建立图书、读者和借阅三个表,其结构为:图书(书号,类别,出版社,作者,书名,定价,备注);读者(编号,姓名,单位,性别,电话);借阅(书号,读者编号,借阅日期)。
(一)要求:①对每个属性选择合适的数据类型;②定义每个表的主码、是否允许空值和默认值等列级数据约束;③对每个表的名字和表中属性的名字尽可能用英文符号标识。
(二)实现相关约束:①建立上述三个表的联系,即实现:借阅表与图书表之间、借阅表与读者表之间的外码约束;②实现读者性别只能是“男”或“女”的约束。
创建表方法有两种,分别如下:(一)用SQL语句创建表(1)选择创建数据库为默认数据库(2)输入创建表语句完成三个表的创建,具体创建方法参考教材。
实验一简单数据查询
一、实验目的
掌握利用select语句进行简单数据查询。
二、实验要求
写出实训时碰到的问题以及解决问题的办法,完成本次实训的体会。
三、实验内容
1.从student表中检索学生所在班级编码,并消除重复行
2.检索课程表(course)中的教师名、课程号、课程名称,要求检索结果按照教师名降序排序
3.检索课程表(course)信息,显示课程号大于’005’的课程编号及课程名称,只显示结果中前15行
4.检索每位教师所上课程的平均报名人数,只显示平均报名人数在25到35人之间的教师
5.查看部门编号为“03”的部门名称。
6.查看部门名称中包含有“工程”两个字的系的全名。
7.显示共有多少个部门。
8.显示“01”年级共有多少个班级。
9.查看在“周二晚”上课的课程名称和教师。
10.查看姓“张”、“陈”、“黄”同学们的基本信息,要求按照姓名降序排列查询结果。
四、实验作业
严格按照各题要求做实验,在实训报告中,需要对知识点进行描述,撰写实验过程及过程中遇到的难点,并给出解决办法或新的心得体会。
设有一学籍管理系统,其数据库名为“EDUC”。
初始大小为 10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。
数据库的逻辑文件名为“student_data”, 物理文件名为“student_data.mdf,存放路径为“E:\sql_data”(注意:此文件名必须已经建立的前提下才可以此操作)。
日志文件的逻辑文件名为“student_log”, 物理文件名为“student_log.ldf”,存放路径为“E:\sql_data”。
四.实验步骤1.使用SQL Server Management Studio(简称SSMS)创建数据库。
(1)启动SSMS在开始菜单中:所有程序-SQL Server 2005 -SQL Server Management Studio单击“连接”按钮,便可以进入【SQL Server Management Studio】窗口。
如果身份验证选择的是“混合模式”,则要输入sa的密码。
(2)建立数据库在“对象资源管理器”窗口,建立上述数据库EDUC。
在数据库节点上右击选择新建。
同时建立一个同样属性的数据库EDUC1。
2. 使用向导删除上面建立的数据库。
用SSMS删除建立的数据库EDUC。
3、数据库的分离将刚建好的数据库分离出来,即点击新建的EDUC——任务——分离,将删除连接和更新打一个钩,然后点击确定。
如图所示:4、数据分离出来之后可以附加进去。
即右击数据库——附加——点击添加按钮,找到数据库文件.mdf所存放的路径,然后点击确定,即可以将我们刚所创建的文件添加回去。
五.实验总结通过本次实验,我熟悉了SQL Server 中SQL Server Management Studio的环境,了解了SQL Server 数据库的逻辑结构和物理结构,掌握使用向导创建和删除数据库的方法。
加深了对数据库的认识和理解。
福建农林大学计算机与信息学院实验报告课程名称:数据库原理及应用姓名:系:计算机科学与技术专业:计算机科学与技术年级:2012 级学号:指导教师:***2014 年5月18 日实验项目列表实验一:数据库的定义实验一、实验目的:1、理解MySQL Server 6.0 服务器的安装过程和方法;2、要求学生熟练掌握和使用SQL、T-SQL、SQL Server Enterpriser Manager Server 创建数据库、表、索引和修改表结构,并学会使用SQL Server Query Analyzer,接收T-SQL 语句和进行结果分析。
二、实验环境:硬件:PC机软件:Windows操作系统、MySQL Server 6.0 和Navicat for MySQL 9.0三、实验内容和原理:1、安装MySQL以及相应的GUI工具2、用SQL命令,建立学生-课程数据库基本表:学生Student(学号Sno,姓名Sname,年龄Sage,性别Ssex,所在系Sdept);课程Course(课程号Cno,课程名Cname,先行课Cpno,学分Ccredit);选课SC(学号Sno,课程号Cno,成绩Grade);要求:1) 用SQL命令建库、建表和建立表间联系。
2) 选择合适的数据类型。
3) 定义必要的索引、列级约束和表级约束.四、实验步骤:1、运行Navicat for MySQL,然后进行数据库连接,进入到GUI界面;2、利用图形界面建立基础表:student 表的信息:course表的信息:sc表的信息:字段名类型长度约束条件Sno varchar9非空、主键、与student表中Sno外键关联,级联删除Cno varchar 4Grade smallint6非空、主键、与course表中Cno外键关联(1)连接数据库,在 localhost 中点击鼠标右键(如图1所示),点击“新建数据库”,在弹出的窗口中输入数据库名称(如图2所示),然后单击“确定”,就完成了数据库的建立。
实验项目名称:实验一数据定义(所属课程:数据库系统原理)学院:计算机与信息工程专业班级:姓名:学号:实验日期:实验地点:指导教师:本实验项目成绩:教师签字:日期:一、实验目的:(1)让学生自己完成数据库模式的设计。
(2)用SQL命令建立数据库表。
(3)用可视化环境建立数据库表。
二、实验要求(1)定义数据表。
(2)修改表结构:增添字段,修改字段类型。
(3)删除表结构。
三、实验内容(1)建立学生数据库模式。
(2)修改数据表结构(3)撤销数据表。
建立一个临时表,然后再把它撤销四、实验步骤1、创建学生信息系统数据库stucreate database stuon(name=stu_dat,filename='D:\studentinfo\stu.mdf',size=30mb,maxsize=50mb,filegrowth=5%)log on /*创建日志*/(name=stu_log,filename='D:\studentinfo\stu.ldf',size=10mb,maxsize=30mb,filegrowth=1mb) --创建学生信息表use stugocreate table student(sno char(4) primary key,sname char(8) NOT NULL,ssex char(2) NOT NULL,sage int NOT NULL,sdept char(10) NOT NULL,);2、创建课程表use stugocreate table course(cno char(4) primary key,cname char(10) NOT NULL,credit int NOT NULL,);3、创建选课表use stugocreate table sc(sno char(4) NOT NULL,cno char(4) NOT NULL,cname char(10) NOT NULL,grade int NOT NULL,primary key(sno,cno),foreign key(sno) references student(sno),foreign key(cno) references course(cno),);--修改数据表结构--1.在课程表SC中增加一个cpno字段alter table course add cpno char(4) NOT NULL;--2.从选课表SC中删除cname字段alter table sc drop column cname;--alter table sc add cname char(8)NOT NULL;插入cname字段五、讨论通过本次实验掌握里一些创建数据和创建表的语句,会使用这些语句建立数据库和数据表。
实验一数据定义与简单查询实验一、实验目的1、要求学生熟练掌握和使用SQL语言、SQL Server企业管理器创建数据库、表索引和修改表结构,并学会使用SQL Server 查询分析器。
2、掌握查看、修改数据库和表的属性的法3、在建立好的数据库表中输入部分虚拟数据,学会如实现基于单表的简单查询。
二、实验容1、使用SQL Server 2008企业管理器创建一个“图书读者数据库”(Book_Reader_DB);2、使用企业管理器和在查询分析器中用Transact-SQL语句的两种法建立图书、读者和借阅三个表,其结构为:图书Book(书号bno,类别bclass,出版社publisher,作者author,书名bname,定价price,备注remark);读者Reader(编号rno,姓名name,单位department,性别sex,telephone);借阅Borrow(书号bno,读者编号rno,借阅日期bdata)。
要求:①对每个属性选择合适的数据类型;②定义每个表的主码、是否允空值和默认值等列级数据约束;③对每个表的名字和表中属性的名字尽可能用英文符号标识。
4、实现相关约束:①使用企业管理器来建立上述三个表的联系,即实现:借阅表与图书表之间、借阅表与读者表之间的外码约束;②实现读者性别只能是“男”或“女”的约束。
5、分别用企业管理器和查询分析器修改表的结构。
在“图书”表中,增加两个字段,分别为“数量”和“购买日期”。
在“借阅”表中增加一个“还书日期”字段。
6、用企业管理器在上述三个表中输入部分虚拟数据。
7、在查询分析器中实现基于单个表的查询①select * from Book②select * from book where Bclass=’计算机’③select count(*) from book group by Bclass④select * from Reader⑤select * from Borrow⑥select rno, count(bno) from Borrow group by rno order by rno⑦select bno, count(rno) from Borrow group by bno order by bno做实验时,还可以虚拟用户的一些其它查询要求,并用Transact-SQL语句予以实现。
实验一数据库操作和SQL查询一、实验目的1.掌握SQL Server数据库系统SQL数据定义语言的使用方法2.掌握SQL Server数据库系统SQL查询语言的使用方法二、实验内容1.用数据定义语言创建教学管理数据库,其中包含S、C、SC、T四张数据表(参见教材p78 例3.1)并建立相关主码和索引。
2.在以上四张表中录入若干数据。
3.使用Sql Server查询分析器对教材例3.1----例3.9操作进行实际练习。
4.使用sql Server 查询分析器对习题3.2各查询要求进行练习。
三、实验指导1、Sql Server 2000中数据定义语句的使用1.1.使用CREATE DATABASE创建数据库CREATE DA TABASE命令可用于创建一个新数据库。
一般格式:CREATE DA TABASE < 数据库名>ON [ PRIMARY ](NAME =‘逻辑文件名’,FILENAME =‘操作系统文件名’[ ,SIZE =数据库起始大小][ ,MAXSIZE =数据库最大值| UNLIMITED ][ ,FILEGROWTH =数据库增量] )[LOG ON(NAME =‘逻辑文件名’,FILENAME =‘操作系统文件名’[ ,SIZE =日志文件起始大小][ ,MAXSIZE =日志文件最大值| UNLIMITED][ ,FILEGROWTH =日志文件增量])]说明:如果仅指定CREA TE DA TABASE 语句而不带其他参数,那么数据库的大小将与model数据库的大小相等。
【例1】创建名为Products的数据库,不指定SIZE。
CREATE DATABASE ProductsON( NAME = prods_data,FILENAME = 'c:\mssql\data\prods.mdf' );文件prods_data将成为主文件,大小等于model数据库中主文件的大小。
1、查询女生中年龄大于19岁的学生姓名;select snamefrom studentwhere sage>19 and ssex='女';截图如下:因为学生表中女生没有大于19岁的,所以运行结果为空2、查询计算机系的学生学号、姓名、出生年份,按出生年份降序显示(给出生年份起个别名);select sno,sname,2016-sage birthdayfrom studentwhere sdept='CS'order by 2016-sage desc截图如下:3、查询没有先行课的课程号、课程名;select cno,cnamefrom coursewhere cpno is null;截图:4、查询选修了课程的学生学号;select distinct snofrom sc截图:5、查询年龄在18到20岁之间的学生学号、姓名、性别;select sno,sname,ssexfrom studentwhere sage between 18 and 20;截图:6、查询是计算机系或数学系的学生姓名,年龄;select sname,sagefrom studentwhere sdept in('CS','MA');截图:7、查询课程名含有‘系统’的全部信息;select*from coursewhere cname like'%系统%';截图:8、查询学号倒数第二位是‘2’的学生姓名、院系;select sname,sdeptfrom studentwhere sno like'%2_';截图:9、对选课表记录按照学号升序、学号一样的按成绩降序进行排序;select*from scorder by sno,grade desc;截图:10、查询被选修了的课程号;select distinct cnofrom sc;截图:11、查询学分大于3的课程号和课程名;select cno,cnamefrom coursewhere ccredit>3;截图:。
实验三:数据库数据的定义与简单查询操作一、实验目的熟练掌握建立数据库和表,向数据库输入数据、修改数据和删除数据的操作及简单的查询操作。
二、实验内容和要求建立数据库并设计各表,输入多条实际数据,并实现数据的增、删、改操作。
查询数据库中的表和表中各数据的定义。
设计各种单表查询SQL语句。
三、实验步骤创建学生管理数据库,数据库名为test,包含学生的基本信息,课程信息和选课信息。
数据库xsgl包含下列3个表:(l)student:学生基本信息。
(2)course:课程信息表。
(3)sc:学生选课表。
各表的结构分别如实验二的表1-1、表1-2和表1-3所示。
1、数据库的建立:(1)用可视化界面建立:(a)在KingbaseES中用企业管理器-新建数据库;(2)命令方式建立:(a)在KingbaseES中,在查询分析器中使用SQL语句:创建“test”数据库:Create database test withEncoding=’GBK’;创建”xsgl”模式:Create schema xsgl;2.表的建立:(1)用可视化界面建立:在KingbaseES中用企业管理器—数据库—test—表—右键—新建表;(2)命令方式建立:在KingbaseES中查询分析器的编辑窗口中用下列SQL语句:在“xsgl”模式中建立表格“student”、“course”、“sc”:SET Search_path To xsgl,public;Create table student(sno CHAR(10)not null,sname CHAR(10)not null,ssex CHAR(2)not null,sage int not null,sdept CHAR(4)not null,primary key(sno));Create table course(cno CHAR(3),cname CHAR(30),credit INT,pcno CHAR(3)NULL,primary key(cno));…….或者:Create table xsgl.student(sno CHAR(10)not null,sname CHAR(10)not null,ssex CHAR(2)not null,sage int not null,sdept CHAR(4)not null,primary key(sno));Create table xsgl.course(cno CHAR(3),cname CHAR(30),credit INT,pcno CHAR(3)NULL,primary key(cno));Create table xsgl.sc(sno CHAR(10),cno CHAR(3),grade INT NULL,primary key(sno,cno));3.表数据的添加:(1).用可视化方法:I:在KingbaseES中用企业管理器—数据库—test—表-表名—右键-打开表-返回所有行;输入下列数据:sno sname ssex sage sdept95001李勇男20CS95002刘晨女19IS95003王敏女18MA95004张立男19IS95005刘云女18CScno cname credit pcno1数据库452数学63信息系统314操作系统465数据结构476数据处理37PASCAL语言46sno cno grade9500119295001285950013889500229095002380950032859500415895004285(2).在KingbaseES查询分析器的编辑窗口中使用下列SQL语句插入数据:insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95001','李勇','男',20, 'CS');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95002','刘晨','女',19,'IS');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95003','王敏','女',18, 'MA');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95004','张立','男',19, 'IS');insert into xsgl.student(sno,sname,ssex,sage,sdept)values('95005','刘云','女',18,'CS ');insert into xsgl.course(cno,cname,credit,pcno)values('1','数据库',4,'5');insert into xsgl.course(cno,cname,credit,pcno)values('2','数学',6,null);insert into xsgl.course(cno,cname,credit,pcno)values('3','信息系统',3,'1');insert into xsgl.course(cno,cname,credit,pcno)values('4','操作系统',4,'6');insert into xsgl.course(cno,cname,credit,pcno)values('5','数据结构',4,'7');insert into xsgl.course(cno,cname,credit,pcno)values('6','数据处理',3,null);insert into xsgl.course(cno,cname,credit,pcno)values('7','PASCAL语言',4,'6');insert into xsgl.sc(sno,cno,grade)values('95001','1',92);insert into xsgl.sc(sno,cno,grade)values('95001','2',85);insert into xsgl.sc(sno,cno,grade)values('95001','3',88);insert into xsgl.sc(sno,cno,grade)values('95002','2',90);insert into xsgl.sc(sno,cno,grade)values('95002','3',80);insert into xsgl.sc(sno,cno,grade)values('95003','2',85);insert into xsgl.sc(sno,cno,grade)values('95004','1',58);insert into xsgl.sc(sno,cno,grade)values('95004','2',85);4.表数据的修改:(1).用可视化方法:在KingbaseES中用企业管理器—数据库—test—表-表名—右键-打开表-返回所有行;在表格中将相应的数据修改即可。
实验一数据定义与简单查询实验
一、实验目的
1、要求学生熟练掌握和使用SQL语言、SQL Server企业管理器创建数据库、表索引和修改表结构,并学会使用SQL Server 查询分析器。
2、掌握查看、修改数据库和表的属性的方法
3、在建立好的数据库表中输入部分虚拟数据,学会如何实现基于单表的简单查询。
二、实验内容
1、使用SQL Server 2008企业管理器创建一个“图书读者数据库”(Book_Reader_DB);
2、使用企业管理器和在查询分析器中用Transact-SQL语句的两种方法建立图书、读者和借阅三个表,其结构为:
图书Book(书号bno,类别bclass,出版社publisher,作者author,书名bname,定价price,备注remark);
读者Reader(编号rno,姓名name,单位department,性别sex,电话telephone);
借阅Borrow(书号bno,读者编号rno,借阅日期bdata)。
要求:①对每个属性选择合适的数据类型;②定义每个表的主码、是否允许空值和默认值等列级数据约束;③对每个表的名字和表中属性的名字尽可能用英文符号标识。
4、实现相关约束:①使用企业管理器来建立上述三个表的联系,即实现:借阅表与图书表之间、借阅表与读者表之间的外码约束;②实现读者性别只能是“男”或“女”的约束。
5、分别用企业管理器和查询分析器修改表的结构。
在“图书”表中,增加两个字段,分别为“数量”和“购买日期”。
在“借阅”表中增加一个“还书日期”字段。
6、用企业管理器在上述三个表中输入部分虚拟数据。
7、在查询分析器中实现基于单个表的查询
①select * from Book
②select * from book where Bclass=’计算机’
③select count(*) from book group by Bclass
④select * from Reader
⑤select * from Borrow
⑥select rno, count(bno) from Borrow group by rno order by rno
⑦select bno, count(rno) from Borrow group by bno order by bno
做实验时,还可以虚拟用户的一些其它查询要求,并用Transact-SQL语句予以实现。
上述每项实验内容相应的实验步骤必须进行详细的记录,并将其整理后写在实验报告中。
三、实验环境与实验准备工作
实验环境:Microsoft Windows 2000操作系统,SQL Server 2000数据库管理系统标准版或企业版。
实验准备工作:在开始本实验之前,请回顾教科书的相关内容(数据定义的创建方法和约束的创建)。
四、实验报告要求
1、根据实验内容和每一步骤实验的结果,按课程实验报告的撰写规范完成实验报告。
报告可用手写或打印,尽可能打印,格式一定要规范。
2、实验报告至少包括以下内容:①实验目的;②实验环境;③实验内容、步骤、结果和实验过程中出现的问题;④实验过程中主要使用的Transact-SQL语句。
3、实验报告由每班学习委员统一收齐,并于星期四下午送交至创新大楼407(软件工程教研室)。
方法一:使用企业管理器
新建数据库:
建Book表:
Reader表:
Borrow表:
方法二:使用查询分析器
/**采用查询分析器中用Transact-SQL语句的方法建立图书、读者和借阅三个表**/ Create Database Book_Reader_DB
Create table Book
(
bno nvarchar(50) primary key,
bclass nvarchar(50) not null,
publisher nvarchar(50) not null,
author nvarchar(50) not null,
price float not null,
remark nvarchar(50) not null,
num int not null,
date nvarchar(50) not null
)
Create table Reader
(
rno nvarchar(50) primary key,
rname nvarchar(50) not null,
department nvarchar(50) not null,
sex varchar(2) not null check(sex in('男','女')) default '男', telephone nvarchar(50) not null
)
Create table Borrow
(
bno nvarchar(50),
rno nvarchar(50),
primary key(bno,rno),
foreign key(bno) references Book(bno),
foreign key(rno) references Reader(rno)
)
/**在“图书”表中,增加两个字段,分别为“数量”和“购买日期”和在“借阅”表中增加一个“还书日期”字段*/
Alter table Reader add constraint cons_sex_chk check(sex in ('男','女'))
Alter table Book add num nvarchar(50) not null
Alter table Book add date nvarchar(50) not null
Alter table Borrow add Back_date nvarchar(50) not null
插入数据:
①-⑦查询:
/**实验一查询语句如下**/
select * from Book
select * from book where bclass='计算机语言'
select count(*) 种类数量from book group by bclass
select * from Reader
select * from Borrow
select rno, count(bno) 数量from Borrow group by rno order by rno select bno, count(rno) 数量from Borrow group by bno order by bno
exec sp_rename 'Borrow.Back_date','rdate','column';
精品
感谢下载!
欢迎您的下载,资料仅供参考
感谢下载载。