当前位置:文档之家› 实验二数据库及数据库对象的创建和管理

实验二数据库及数据库对象的创建和管理

实验二数据库及数据库对象的创建和管理
一、实验目的
1.掌握用企业管理器(Enterprise Manager)对数据库的完整创建、修改和删除2.掌握用企业管理器(Enterprise Manager)对常见的数据库对象如表、试图、索引等的创建、修改和删除
3.掌握用SQL语句进行创建和管理数据库、表、试图和索引
二、实验环境(实验的软件、硬件环境)
硬件:PC机软件:SQL2000
三、实验指导说明
请复习相关的数据库及其对象的创建和管理的SQL语法知识点,并完成如下内容。

四、实验内容
1.数据库操作
(1)用SQL语句完整创建一个订单数据库,名为OrderDB,存放路径为:E:\MyOrder,它由5MB的主数据文件、2MB的次数据文件和1MB的日志文件组成。

并且主数据文件以2MB的增长速度增长,其最大数据文件的大小为15MB,次数据文件以10%的增长速度增长,其最大次数据文件的大小为10MB,事务日志文件以1MB速度增长,其最大日志文件大小为10MB。

(2)将主数据文件大小由5M增大到8M,并删除次数据文件。

(3)为了扩大订单数据库,为它增加一个次要数据文件order3.ndf,该文件大小为4M,最大可增长到10M,以10%的速度增长。

create database OrderDB
on primary
(
name=OrderDB_c,
filename='F:\OrderDB\OrderDB.mdf',
size=5,
maxsize=15,
filegrowth=5%
),
(
name=OrderDB_a,
filename='F:\OrderDB\OrderDB.ndf',
size=2,
maxsize=10,
filegrowth=10%
)
log on
(
name=OrderDB_b,
filename='F:\OrderDB\OrderDB.ldf',
size=1,
maxsize=10,
filegrowth=10%
)
go
create database PDData
on
(
name='PDData_bata', --主文件的逻辑名
filename='f:\PDData_data.mdf', --主数据文件的物理名size=10, --文件初始大小
filegrowth=15% --文件的增长率name=主数据库的逻辑名称,
filename=主数据库的路径,--主数据库后缀名.mdf
size=初始大小,
filegrowth=当数据库没有空间的时候增加多少容量
--次数据库,,和主数据库的属性一样,不过路径的时候后缀名为.ndf
)
log on
--日志文件具体描述--
(
name='PDData_log',
filename='f:\PDData_data.ldf',
size=1,
maxsize=10,
filegrowth=10%
日志文件, 和主数据库的属性一样,路径的后缀名为.ldf
)
go
(4)删除数据库。

drop database OrderDB
2.表操作
(1)简单创建订单数据库orderDB
(2)为订单数据库创建5张表,分别如下:(要求在创建的过程中,分别为每张表合理建立主键、外键约束)
员工表Employee
客户表customer
商品信息表product
订单主表orderMaster
订单明细表orderDetail
create table employee
(
employeeNo char(8)Not Null,
employeeName Varchar(10)Null,
Sex char(1)Null,
Department Varchar(30)Null,
Headship Varchar(6)Null,
Hiredate Datetime Null,
Salsry Numeric(8,2)Null,
Address Varchar(50)Null,
Telephone Varchar(20)Null
)
Go
create table customer
(
CustomerNo char(9)not null,
customername varchar(40)not null, Adderss varchar(40)null,
Telephone varchar(40)null,
Zip char(6)null,
createdate datetime null
)
go
create table product
(
ProductNo char(9)not null,
ProductName varchar(40)null,
ProductClass varchar(20)null,
ProductPrice numeric(8,2)null,
Createdate datetime null
)
go
create table orderMaster
(
OrderNo char(12)not null,
customerNo char(9)not null,
SaleNo char(8)not null,
Ordersum numeric(8,2)null,
Orderdate Datetime null,
Shipdate Datetime null,
InvoiceNo char(10)null
)
go
create table orderDetail
(
OrderNo char(12)not null,
ProductNo char(9)null,
Qty int null,
Price numeric(8,2)
)
go
(3)表结构的修改
➢修改客户表结构,要求客户名称和客户电话属性为not null
➢修改员工表结构,要求员工姓名和电话属性为not null
➢修改订单表结构,要求发票号码属性为not null
use OrderDB
ALTER TABLE customer ALTER COLUMN customerName Varchar(40)NOT NULL ALTER TABLE customer ALTER COLUMN Telephone Varchar(20)Not Null ALTER TABLE employee ALTER COLUMN employeeName varchar(10)not null alter table employee alter column telephone varchar(20)not null alter table orderMaster alter column InvoiceNo char(10)not null 3.索引操作
在已创建的基本表的基础上,完成以下索引
(1)在员工表中按所得薪水建立一个非聚集索引salaryIdx
use OrderDB
create unique index emplno on e(employeeNO)
(2)在订单主表中,首先按订金金额的升序,然后按业务员编号的降序建立一个非聚集索引salenosumIdx。

use OrderDB
create unique index eno on e(employeeNO desc)
4.视图操作
创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、客户住址、建立日期。

use OrderDB
go
create view a
as
select employeeNo,employeeName
from e
5.利用企业管理器(Enterprise Manager)完成以上1~4中的操作。

五、实验步骤
请完成实验内容,并写出具体的实验步骤
六、思考题:
1.请思考数据库和各数据库中的对象的联系和区别?
数据库包含许多的对象,对象可以是表、视图、索引等等。

2.请思考视图和表的联系和区别?
视图是一种来自于表的虚表!
七、总结(实验过程的体会、心得和实验教与学之间还需改进的内容)。

相关主题