数据库上机实验报告

  • 格式:doc
  • 大小:90.00 KB
  • 文档页数:10

下载文档原格式

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

实验一:建立数据库及基本表

一、实验目的

1、了解SQL Server数据库的逻辑结构和物理结构;

2、了解SQL Server的基本数据类型;

3、学会在企业管理器中创建数据库和表;

4、使用SQL查询分析器用CREATE、DROP、ALTER语句创建和删除数据库,创建、删除、更新基本表。

二、实验内容

1、创建数据库和查看数据库属性。

2、创建表。

3、查看和修改表结构。

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

三、实验步骤

1、在企业管理器中创建数据库和数据表。

(1) 使用企业管理器建立图书管理数据库,数据库名为BM,初始大小为10MB,最大为50MB,数据库自动增长,增长方式是按5%比例增长;日志文件初始为2MB,最大可增长到5MB,按1MB增长。数据库的逻辑文件名和物理文件名均采用默认值。

详细步骤:

(2) 在企业管理器中查看图书管理数据库的属性,并进行修改,使之符合要求。

(3) 通过企业管理器,在建好了图书管理数据库BM中建立图书(book)、读者(reader)和借阅(borrow)3个表,其结构为:

图书(书号,类别,出版社,作者,书名,定价);读者(编号,姓名,单位,性别,电话);

借阅(书号,读者编号,借阅日期)。

(4) 利用企业管理器向表中输入数据。

2、在查询分析器中创建数据库和数据表

(1) 创建数据库S-C 的sql语句:

create database s_c

(2) 在数据库S-C下,创建基本表学生表student(sno,sname,ssex,sage,sdept)的sql语句:

create table student( sno c(8),sname c(10),ssex c(2),sage(4),sdept c(8) )

创建基本表课程表course(cno,cname, ccredit)的sql语句:

create table course( cno c(4),cname c(10),ccredit c(2) )

创建基本表成绩表sc(sno,cno,grade)的sql语句:

create table sc( sno c(8),cno c(4),grade n(4) )

(3) 在窗口下分别键入DROP TABLE Student及DROP TABLE SC命令,运行后观察结果。再重新运行student.sql和sc.sql,并观察结果。

(4) 利用查询分析器编写SQL语句修改表。

①在student表中增加一个新的字段“smerit”(特长),数据类型为char(30);该sql语句:alter table student add smerit c(30)

②修改student表中sdept字段的数据类型为varchar(20),其sql语句

alter table student alter sdept varchar(20)

实验二:数据查询

一、实验目的

1、掌握查询分析器的使用方法,加深对SQL的语句的理解;

2、使用查询分析器用SELECT语句进行数据查询;

3、熟练掌握简单表的数据查询、数据排序和数据连接查询的操作方法。

二、实验内容

1、完成简单查询操作。该实验包括投影、选择条件表达,数据排序,使用临时表等。

2、完成连接查询、嵌套查询、组合查询和统计查询等操作。

三、实验步骤

1、熟悉pubs数据库中的三个用户表:

employee(emp_id,fname,minit,lname,job_id,job_lvl,pub_id,hire_date),

job(job_id,job_desc,min_lvl,max_lvl),publishers(pub_id,pub_name,city,state,country)。

他们分别是关于雇员、职务和出版社的基本表。

2、在查询分析器在窗口下用SELECT语句完成单表查询:

①查询全体出版社的详细记录;

Sql语句:

select * from publishers

②查询所有工作的job_id为7的职工的职工编号;

Sql语句:

select emp_id from employee where job_id = 7

③查询工作的job_id小于7的职工的职工编号;

Sql语句:

select emp_id from employee where job_id < 7

④查询在Germany和France的出版社的名字和所在城市;

Sql语句:

select pub_name,city from publishers where country in (Germany ,France)

⑤查询lname为Jablonski的雇员的fname、job_id和hire_date;

Sql语句:

select fname ,job_id ,hire_date from employee where lname = “Jablonski”

⑥查询lname的前两个字符为cr的职员的编号和fname;

Sql语句:

select emp_id ,fname from employee where lname like “cr %”

3、在查询分析器在窗口下用SELECT语句完成连接(嵌套)查询:

①查询各个工作号与相应的工作人数;

Sql语句:

select job .job_id ,count(*) as 人数

from employee ,job

where employee.job_id=job.job_id

group by job.job_id

②查询每个职工及其工作的描述(job_desc)的情况;

Sql语句:

select employee .emp_id ,job_desc

from employee ,job

where employee.job_id=job.job_id

4、在查询分析器在窗口下用SELECT语句完成集合查询:

查询job_id为5和job_id为6的职工的姓名和职工所在出版社的名字Sql语句:

(select fname ,pub_name from employee ,publishers

where employee.pub_id=publishers.pub_id and job_id=5)

union

(select fname ,pub_name from employee ,publishers

where employee.pub_id=publishers.pub_id and job_id=6)