数据库实验98235

数据库实验98235
数据库实验98235

数据库原理实验指导

实验前准备:

请设计一个企业销售管理据库,其中需要保存的信息如下:

员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期;

客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码;

产品信息,包括:产品编号,产品名称;

员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。

此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期;要求:

(1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型;

(2)将ER图转换为关系模型;

实验一

实验名称:数据定义(2课时)

一、实验目的

1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER 企业管理器的使用,并将得到的表生成脚本,然后保存。

2、理解上述基本表之间的关系,建立关系表。

3、掌握修改表结构的基本方法

4、掌握索引和视图的创建方法

二、实验环境

MS SQL SERVER或者My Sql。

三、实验内容与步骤

1、建立一个数据库和五张表的表结构。

(1)/*员工人事表employee */

Create datebase sale;

create table employee(

emp_no char(5) Not null primary key,

emp_name char(10) Not null,

sex char(1) Not null,

dept char(4) null,

title char(6) null,

date_hired datetime null,

birthday datetime null,

salary int null,

addr char(50) null,

Mod_date datetime Default 0,

constraint c1 check(性别in('男','女'))

);

(2)/*客户表customer */

create TABLE customer(

cust_id char(5) Not null primary key, cust_name char(20) Not null,

addr CHAR(40) Not null,

tel_no char(10) Not null,

zip char(6) null

);

(3)/*销售主表sales */

create TABLE sales(

order_no char(5) Not null primary key,

cust_id char(5) Not null,

sale_id CHAR(5) Not null,

tot_amt numeric(9,2) null,

order_date datetime null,

ship_date datetime null,

invoice_no char(10) null

);

(4)/*销货明细表sales_item*/

create TABLE sales_item(

order_no char(5) Not null ,

prod_id char(5) Not null,

primary key(order_no,prod_id),

qty INT Not null,

unit_price numeric(9,2) Not null,

order_date datetime null,

CONSTRAINT FK_1 FOREIGN key(order_no) REFERENCES sales(order_no), CONSTRAINT FK_2 FOREIGN key(prod_id) REFERENCES product(prod_id) );

(5)/*产品名称表product */

create TABLE product(

prod_id char(5) Not null primary key,

prod_name char(20) Not null

);

2、建立5张表的关系图

3、修改表结构,通过SQL语句修改表约束。

①在表employee加入CHECK约束:输入的员工编号必须以E开头的5位数编号,性别只能为M/F。

//check对于MySQL不起作用,只能在插入数据的基础上修改

use sale;

ALTER TABLE employee add CHECK(sex LIKE 'E%');

UPDATE employee

SET sex='F'

WHERE sex='女'

;

UPDATE employee

SET sex='M'

WHERE sex='男'

;

②为销售主表sales中的发票编号字段建立UNIQUE约束。

ALTER TABLE sales MODIFY invoice_no CHAR(10) UNIQUE NULL;

③所有性别属性,限制取值为f或m

4、员工表建立唯一索引:emp_no属性、升序;员工表建立聚集索引:emp_name属性、升序;CREATE UNIQUE INDEX emp_index ON employee(emp_no ASC);

//MYSQL不支持此类语法

5、创建视图:

①视图只含上海客户信息,即客户号、客户姓名、住址。

CREATE VIEW 上海客户信息AS

SELECT cust_id,cust_name,addr

FROM customer

WHERE addr LIKE '上海%';

②有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。

CREATE VIEW emp_sales AS

SELECT sale_id,emp_name,order_no,tot_amt

FROM employee,sales

WHERE employee.emp_no=sales.sale_id;

四、实验报告

实验二

实验名称:数据操纵(4课时)

一.实验目的

1、要求学生熟练掌握添加、修改、删除数据的操作。

2、要求学生熟练掌握数据查询操作。

二、实验环境

MS SQL SERVER 2000或者My SQL

三、实验内容与步骤

1.数据更新

①在每个表中插入若干条记录;

-- employee

INSERT employee VALUES('E0001','赵三','男','销售部','经理','2013/3/4','1992/3/4',8000,'杭州','2013/4/2');

INSERT into employee values('E0002','赵四','M','销售部','成员','2017/3/5','1994/2/3',2500,'泰州','2018/4/2');

INSERT employee VALUES('E0003','钱四','男','销售部','组长','2015/3/4','1991/3/4',8000,'杭州','2015/4/2');

INSERT employee VALUES('E0004','钱行','男','后勤部','经理','2014/8/4','1981/9/8',10000,'杭州','2015/4/2');

INSERT employee VALUES('E0005','欧阳泽明','男','后勤部','组长','2016/8/4','1986/7/8'7000,'杭州','2017/4/2');

INSERT employee VALUES('E0006','欧阳凤','女','后勤部','成员','2012/5/4','1989/3/5',7000,'杭州','2016/4/2');

INSERT employee VALUES('E0007','欧阳峰','男','宣传部','副经理','2013/5/4','1989/3/9',9000,'泰州','2016/4/2');

INSERT employee VALUES('E0008','欧阳创正','男','宣传部','成员','2017/8/8','1999/7/25',4000,'泰州','2016/4/2');

INSERT employee VALUES('E0009','王阳凤','女','宣传部','经理','2012/7/13','1985/3/6',9090,'杭州','2016/4/2'); INSERT employee VALUES('E0010','王航','女','联络部','成员','2017/5/4','1997/8/15',4000,'扬州','2016/4/2'); INSERT employee VALUES('E0011','王凤','女','联络部','经理','2015/7/13','1989/3/6',9090,'扬州','2016/4/2'); INSERT employee VALUES('E0012','王立','男','联络部','副经理','2013/8/14','1989/5/19',9000,'泰州','2016/4/2'); -- customer

INSERT customer VALUES('K0001','李立','泰州','1902847477','225700');

INSERT customer VALUES('K0002','李才','苏州','1322847472','295702');

INSERT customer VALUES('K0003','王吉','苏州','1362847489','235701');

INSERT customer VALUES('K0004','王嘉','扬州','1342847477','225400');

INSERT customer VALUES('K0005','王洛','苏州','1379847477','221706');

INSERT customer VALUES('K0006','端木镇','泰州','1382847477','215709');

INSERT customer VALUES('K0007','端木释俗','北京','1262847477','225230');

INSERT customer VALUES('K0008','孙可','上海','1322847477','225245');

INSERT customer VALUES('K0009','孙立','北京','1762847477','225764');

INSERT customer VALUES('K0010','孙苏','苏州','1092347477','212403');

-- sales

INSERT sales VALUES('S0010','K0001','E0001','7477','2018/4/29','2018/5/29','201947292');

INSERT sales VALUES('S0009','K0002','E0002','6477','2018/4/22','2018/5/29','201947232');

INSERT sales VALUES('S0008','K0003','E0003','5432','2018/5/9','2018/5/29','201947235');

INSERT sales VALUES('S0007','K0004','E0004','9432','2018/4/15','2018/5/29','201956235');

INSERT sales VALUES('S0006','K0005','E0005','5432','2018/5/9','2018/5/29','201007235');

INSERT sales VALUES('S0005','K0006','E0006','8432','2018/5/19','2018/5/29','201940235');

INSERT sales VALUES('S0004','K0007','E0007','9432','2018/5/19','2018/5/29','208947205');

INSERT sales VALUES('S0003','K0008','E0008','6432','2018/5/24','2018/5/29','201947260');

INSERT sales VALUES('S0002','K0009','E0009','5890','2018/5/2','2018/5/29','201947209');

INSERT sales VALUES('S0001','K0010','E0010','10383','2018/5/7','2018/5/29','201947468');

-- product

INSERT product VALUES('C0001','短袖');

INSERT product VALUES('C0002','短裤');

INSERT product VALUES('C0003','长袖');

INSERT product VALUES('C0004','牛仔裤');

INSERT product VALUES('C0005','七分裤');

INSERT product VALUES('C0006','五分裤');

INSERT product VALUES('C0007','外套');

INSERT product VALUES('C0008','短裙');

INSERT product VALUES('C0009','连衣裙');

INSERT product VALUES('C0010','衬衫');

-- sales_item

INSERT sales_item VALUES('S0010','C0001',77,1,'2018/5/9');

INSERT sales_item VALUES('S0009','C0002',146,12,'2018/5/9');

INSERT sales_item VALUES('S0008','C0003',126,18,'2018/5/9');

INSERT sales_item VALUES('S0007','C0004',124,9,'2018/5/9');

INSERT sales_item VALUES('S0006','C0005',128,12,'2018/5/9');

INSERT sales_item VALUES('S0005','C0006',124,42,'2018/5/9');

数据库系统概论(王珊第五版)数据库实验1

实验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图,要求如下: (1)可随时查询书库中现有书籍的品种、数量与存放位置。所有各类书籍均可由书号唯一标识。 (2)可随时查询书籍借还情况,包括借书人单位、姓名、借书证号、借书日期和还书日期。约定:任何人可借多种书,任何一种书可为多个人所借,借书证号具有唯一性。 (3)当需要时,可通过数据库中保存的出版社的电报编号、电话、邮编及地址等信息向相应出版社增购有关书籍。约定,一个出版社可出版多种书籍,同一本书仅为一个出版社出版,出版社名具有唯一性。 将有关实体型及其联系画出E-R模型图画在实验报告册中。

数据库实验

数据库实验 集团文件版本号:(M928-T898-M248-WU2669-I2896-DQ586-M1988)

数据库原理实验指导 实验前准备: 请设计一个企业销售管理据库,其中需要保存的信息如下: 员工信息,包括:员工编号、员工姓名、性别、所属部门、职称、到职日、生日、薪水、填表日期; 客户信息,包括:客户号,客户名称,客户住址,客户电话、邮政编码; 产品信息,包括:产品编号,产品名称; 员工和客户可以签订订单,每签订一个订单,就要保存订单信息,包括:订单编号、客户号、业务员编号、订单金额、订货日期、出货日期、发票号码。 此外,每个订单可能涉及到多种产品,每种产品可能被多个订单订购。因此需要每个订单中每类产品的销售明细,包括每种产品的销售数量、单价、订单日期; 要求: (1)给出系统的ER图(可以用word或其它画图工具,如Visio画),要求画出所有的实体,联系,属性以及联系的类型; (2)将ER图转换为关系模型; 实验一 实验名称:数据定义(2课时) 一、实验目的

1、理解数据库模式的概念,通过使用SQL SERVER企业管理器或者My Sql建立数据库和基本表。模式为人事表、客户表、销售表、销售明细表、产品表。熟悉SQL SERVER企业管理器的使用,并将得到的表生成脚本,然后保存。 2、理解上述基本表之间的关系,建立关系表。 3、掌握修改表结构的基本方法 4、掌握索引和视图的创建方法 二、实验环境 MS SQL SERVER或者My Sql。 三、实验内容与步骤 1、建立一个数据库和五张表的表结构。 (1)/*员工人事表employee */ Create datebase sale; create table employee( emp_no char(5) Not null primary key, emp_name char(10) Not null, sex char(1) Not null,

数据库实验1-6参考答案

实验一SQL Server使用初步 一、实验目的 1、熟悉SQL Server2000的组成及基本功能。 2、掌握SQL Server2000的登录及注册。 3、掌握SQL Server2000企业管理器的使用方法。 4、熟悉查询分析器的基本使用。 二、实验预习 1、什么是数据库管理系统DBMS?你所知道的DBMS有哪些? 答:DBMS是位于用户和操作系统之间的一层数据管理软件。常见的DBMS主要有:Oracle、db2、SQL Server、MySQL、PostgreSQL、SQLite、Firebird等等。 2、SQL Server 2000(2005)的安装步骤? 答:以企业版安装为例,步骤为: 将企业版安装光盘插入光驱后,出现以下提示框。请选择“安装 SQL Server 2000 组件” 出现下面对话框后,选择 "安装数据库服务器" 。 选择 "下一步",然后选择 "本地计算机" 进行安装。 在 "安装选择" 窗口,选择 "创建新的SQL Server实例..."。对于初次安装的用户,应选用这一安装模式,不需要使用 "高级选项" 进行安装。 "高级选项" 中的内容均可在安装完成后进行调整。 在 "用户信息" 窗口,输入用户信息,并接受软件许可证协议。 在“安装定义”窗口,选择“服务器和客户端工具”选项进行安装。 在“实例名”窗口,选择“默认”的实例名称。 在“安装类型”窗口,选择“典型”安装选项,并指定“目的文件夹”。 在 "服务账号" 窗口,请选择 "对每个服务使用统一账户..." 的选项。 在 "身份验证模式" 窗口,选择 "混合模式..." 选项,并设置管理员"sa"账号的密码。 最后按“下一步”即可完成安装。 检测安装:如果安装成功,应该能成功启动SQL Server,并且能和SQL Server 客户端连接上。 可以通过服务管理器来进行启动。

数据库实验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. 掌握存储过程的使用方法; 2. 掌握触发器的实现方法; rjM_K.IGG...o.hpl 叮碍 SUUieryJ.E . itir 血 Ecus ton ardurji 5ex V.'crtYMr ⑷崔 加础ur 怙 Wil True 中憎 0帧 Tnz 3 SJ21121 1

(2)创建存储过程,根据每个员工的学历将收入提高500元 alter proc SA_IN @enuchar(6) as begin update Salary set InCome=InCome+500 from Salary,Employees where Employees.EmployeeID =Salary.EmployeeID and Education=@enu end select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Education ='本科' go execdbo.sa_ in'本科' go select In Come from Salary,Employees where Salary.EmployeeID = Employees.EmployeeID and Educati0门=本科' select In Come from Salary,Employees where Salary.EmployeeID =Employees.EmployeeID ■I■ ■ ■ H 1 20B 2 ; 4 52A&7D1 34&D7 3031.55 inCcwii* 1;2532 2 3293701 4羽曲才 号3521 (3)创建存储过程,使用游标计算本科及以上学历的员工在总员工数中的比例。declare @edu varchar ( 10), @part_cou nt int 5 @all_cou nt int J declare mycursor cursor for select disti net educati on , COUNT( education ) over ( partition by education ) as part_cou nt , COUNT( education ) over () as all count and Educati0门=本科

数据库实验六

数据库上机实验六 实验名称:视图的建立与使用(续)和数据库的安全性控制 一、实验目的 1.加深掌握视图的定义与工作原理。 2.理解SQL SERVER 2000登录账户、数据库用户、角色、权限的概念及管理方法。 二、实验内容与步骤 1.对视图的操作 (1)创建一个视图,该视图只含上海客户信息,即客户号、客户姓名、住址。 create view cus_SH as select cust_id, cust_name, addr from customer where addr = '上海' (2)删除题1建立的视图中所有姓“王”的客户数据。 delete from cus_SH where cust_name like '王%' (3)对题(1)建立的视图添加一条记录数据(注意:分别查看customer表和该视图的结果)。 insert into cus_SH values ('10010','叶秀玲','武汉') /* 无法将 NULL 值插入列 'tel_no',表 'Sale_Manage.dbo.customer';该列不允许空值。 INSERT 失败。 语句已终止。 */

(4)通过题(1)建立的视图修改表内某一客户的姓名。 update cus_SH set cust_name = '王子' where cust_name = '王' (5)有两个基本表employee和sales,创建一个视图,该视图包含相同业务员的编号、姓名、订单号、销售总金额。 create view emp_sale as select emp_no, emp_name, order_no, tot_amt from employee, sales where emp_no = sale_id (6)给题(5)建立的视图添加一条记录数据。 insert into emp_sale values ('E1000', '肖萧', '1009', '900.00') --视图或函数 'emp_sale' 不可更新,因为修改会影响多个基表。 (7)将题(5)建立的视图中订单号为1001的记录的销售总金额改为60000。 update emp_sale set tot_amt = 60000 where order_no = '1001' (8)删除题5建立的视图。 drop view emp_sale; 2.数据库的安全性控制

数据库实验1

教务处制 第1页,共1页 苏州大学实验报告 院、系 计算机学院 年级专业 姓名 学号 课程名称 数据库原理 成绩 指导教师 同组实验者 无 实验日期 实 验 名 称 实验一 数据库操作 一. 实验目的 1. 熟悉DBMS 的环境; 2. 掌握图形化和SQL 语句两种方法创建数据库; 3. 掌握分离和附加数据库的操作。 二. 实验内容 1. 熟悉服务器的启动、暂停、和停止操作; 2. 熟悉Management Studio 的工作环境; 3. 图形化创建数据库: 3.1:用图形化界面创建Myfirstdb 数据库,要求主数据库文件为20MB ,最大大小是100M ,每次增长5MB ;事务日志文件为20MB ,最大大小是100M ,每次增长20MB 。 3.2:创建用户文件组:usergroup ; 3.3:为Myfirstdb 数据库添加一个次要数据文件Myfirstdb_dat2,大小为10MB ,最大大小不受限制,将该文件添加到usergroup 文件组中; 3.4: 查看创建Myfirstdb 的SQL 语句,将其复制在实验报告上; 4、用SQL 语句完创建grade 数据库; (注意记下数据库文件的位置) 5、删除Myfirstdb 数据库的usergroup 文件组应该如何操作?试用SQL 语句实现。 6、用SQL 语句删除Myfirstdb 数据库。 7、分离4所建的数据库,找到其所对应的数据库文件,拷到U 盘上。下次实验时将其附加。 三. 实验步骤和结果(将完成的SQL 语句粘贴于此) 四. 思考题: 1. 简述组成SQL Server2005数据库的3种类型的文件。 五. 实验总结(分析一下上机结果与选择的答案之间一致或不一致的原因)

数据库实验一

实验一基本表的定义、删除与修改 一、实验目的: 熟练掌握基本表的定义、删除与修改,为后继学习作准备。 二、实验属性(验证性) (1)了解并掌握SQL SERVER 2005管理控制器的使用; (2)掌握基本表的定义、删除与修改。 三、实验仪器环境与要求 1.每人一台计算机。 2.计算机安装有SQL SERVER2005。 四、实验要求(预习、实验前、实验中、实验后等要求) 1.预习教材第三章,熟悉SQL语句。 2.熟悉SQL SERVER 2005,能使用管理控制器的使用。 3.能够熟练使用SQL语句进行表的创建、删除与修改。 五、实验原理 SQL语言基本应用。 六、实验步骤: (1)启动SQL SERVER 2005。 (2)启动SQL SERVER 2005查询分析器; (3) 创建数据库; (5) 创建如下表: 1 定义基本表 1.1、学生表Student,每个属性名的意义为Sno-学号字符型长度为10、Sname-姓名字符型长度为20、Ssex-性别字符型长度为4、Sage-年龄为整型、Sdept-所在系字符型长度为15。这里要求Sno为主码,Sname不能为空值,且取值唯一。 create table student (Sno char(10) primary key, Sname char(20) unique, Ssex char(4), Sage smallint, Sdept char(15) );

1.2、建立表课程表Course,其属性名意义分别为Cno-课程号、字符型长度为15, Cname-课程名、字符型长度为20, Pre_Cno-先修课程号、字符型长度为15, Credits-学分、整型。Cno 为主码。 create table course (Cno char(15) primary key, Cname char(20), Pre_Cno char(15) references course(Cno), Ccredit smallint, ); 1.3选课表SC。其中的属性名意义分别为Sno-学号、字符型长度为10,Cno-课程号、 字符型长度为15和Grade-考试成绩、整型。Sno和Cno为主码。 create table sc ( Sno char(10) references student(Sno), Cno char(15) references course(Cno), Grade smallint, primary key (Sno, Cno), )

实验六 访问数据库

实验六访问数据库 一、实验目的 1、熟悉通过嵌入式SQL(主语言为C++语言)编程访问数据库,及掌握游 标的使用方法 2、熟悉通过ODBC接口访问异构数据库并对异构数据库进行操作 3、学会配置ODBC数据源 4、学会各种数据库的访问方法 二、实验要求 1、编写一个嵌入式C++程序,实现对SQL Server2005数据库中的“学生课 程数据库”的Student表中的年龄进行更新,即系统每输出一个学生记录,询问用户是否更新。如果要更新,就输入新的年龄。要求:提交源程序并标识必要的注释。 答:create table provider ( Sno char(5)primary key, Sname char(20)not null, Ssex char(4), Sage int ); insert into provider values('S1','李刚',’男’,20); insert into provider values('S2','李红',’男’,21); insert into provider values('S3','李飞',’男’,25); insert into provider values('S4','李春',’男’,21); #include #include #include #include #include #include #include #include EXEC SQL BEGIN DECLARE SECTION; char deptname[20]; char HSno[9]; char HSname[20]; char HSsex[2]; int HSage; int NEWAGE;

数据库实验报告

数据库原理及应用 实验报告 学院: 专业: 班级: 姓名: 学号: 指导教师:

实验一 SQL Server常用管理工具的使用 实验目的: 1. 理解服务的概念,掌握SQL Server服务的启动、暂停和停止。 2. 熟悉SQL Server数据库结构,掌握企业管理器的基本操作。 3. 理解查询分析器的作用,掌握查询分析器的常用用法。 实验内容与步骤: 一、服务管理器的用法 SQL Server 是作为Windows 网络操作系统的一个服务运行的。通过设置,可以在启动操作系统时自动启动SQL Server,也可以远程启动和停止SQL Server。可以使用下列工具手工启动、暂停和停止SQL Server服务实验要求1:使用SQL Server服务管理器查看SQL Server服务是否正在运行,若正在运行,将其停止。 实验要求2:使用控制面板中的“服务”管理控制台将已停止的SQL Server 服务启动。 二、企业管理器的使用 企业管理器是SQL Server提供的最主要的数据库管理图形界面工具,它以树形结构来组织数据库服务器、数据库和数据库中的对象,大部分的数据库管理工作都可以使用它来完成。 实验要求3:启动企业管理器,查看SQL Server的注册属性。 启动企业管理器后,在控制台树中,展开“Microsoft SQL Servers”,然后展开“SQL Server”,组右击自己的服务器名,然后单击“编辑SQL Server注册属性”。 实验要求4:在企业管理器中,查看Northwind数据库中用户数据表和系统数据表各有多少个? 三、查询分析器的使用 查询分析器是图形化的数据库编程接口,用户可以以自由的文本格式编辑、调试和执行SQL脚本。 实验要求5:在查询分析器中,使用SQL语句在master数据库中查询sysobjects表的所有信息。

数据库实验6数据库系统设计

实验报告 学院:计信学院专业:网络工程班级:091 姓名学号实验组实验时间2012-6-1 指导教师成绩实验项目名称实验六:数据库系统设计实 验目的 要求掌握数据库设计的基本技术,熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解。 实 验 要 求 本实验属于设计型实验,通过实验,加强对课堂讲授知识的理解。 实验原理 必须按照数据库设计的四个阶段进行:需求分析(分析用户要求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。概念模型设计时采用自底向上的方法,即自顶向下的进行需求分析,然后再自底向上地设计概念结构,和自底向上的设计方法;概念模型必须用E-R图进行表示。在逻辑设计阶段,将E-R图转换成关系模式,然后进行关系模式的规范化。在物理设计阶段,将关系模式转化成SQL Server中的具体的数据库表,并建立表间的关系,表的索引,及相关的约束。 实 验仪器(1)硬件条件:个人计算机。 (2)软件条件:Windows 2000NT Server; MS SQL Server 2000。 实验步骤1、完成系统需求分析报告 在系统需求分析报告中包括采用的设计方法、数据流图和数据字典。 2、完成数据库信息要求和关系数据模型设计 使用E-R图表示对数据库中要存储的信息及语义进行详细描述,对数据约束和数据之间的关联进行

详细描述。详细描述系统需要的基本表及属性、视图和索引,对基本表的主码、候选码、外码及被参照表进行说明,对基本表中数据的约束条件进行说明。 3、完成数据库的操作和应用要求报告 在数据库的操作和应用要求报告中,详细描述数据库的数据操作要求、处理方法和处理流程,画出系统功能模块图。 4、在机器上完成整个数据库的设计。 实 验内容 要求根据周围的实际情况,自选一个自己熟悉的小型数据库应用项目,并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。 实验数据我设计的是车站售票管理系统,主要用于车站日常的票务处理。 一、需求分析 车站售票管理系统 员工 管理 模块 汽车 管理 模块 线路 管理 模块 车票 管理 模块 票务 信息 管理 模块 员 工 信 息 添 加 员 工 信 息 删 除 员 工 信 息 修 改 汽 车 信 息 添 加 汽 车 信 息 修 改 汽 车 信 息 删 除 线 路 信 息 添 加 线 路 信 息 修 改 线 路 信 息 删 除 添 加 车 票 删 除 车 票 查 询 车 票 信 息 购 买 / 预 订 车 票员 工 信 息 查 询 汽 车 信 息 查 询 线 路 信 息 查 询 车 票 信 息 查 询 功能模块图 1.员工管理模块: 员工有两种身份,售票员和系统管理员。系统管理员可以进行系统用户的添加,密码的修改操作,汽车,线路,车票信息的更新等,售票员可以查询以上信息和购买车票等。 2.线路信息管理模块:

数据库实验报告六_存储过程

HUNAN UNIVERSITY 数据库 实验报告 学生姓名 学生学号 专业班级 指导老师 2017 年5月24日

SELECT COUNT(*)INTO more90 FROM sc WHERE cno = countcno AND grade >= 90; /*将结果存入新表sumScore中*/ create table sumScore( scorestage char(10), number smallint); insert into sumScore values('x<60', less60); insert into sumScore values('60<=x<70', b60a70); insert into sumScore values('70<=x<80', b70a80); insert into sumScore values('80<=x<90', b80a90); insert into sumScore values('x>=90', more90); END$$ call sumScore(); /*调用上述存储过程*/ 首先创建存储过程,然后再调用存储过程。结果如下: (上述结果图截自Navicat软件) 可以看到,在stuinfo中新建了一个基本表sumscore,表中内容是数学课程成绩的各分数段的人数。 2、统计任意一门课的平均成绩。 代码如下: DELIMITER $$ CREATE PROCEDURE `scoreAvg`() BEGIN declare curname char(40) default null; /*临时存放课程名*/ declare curcno char(4) default null; /*临时存放课程号*/ declare curavg float; /*临时存放平均成绩*/ declare mycursor cursor for /*定义游标*/ select cno, cname from course;

数据库实验1认识数据库管理系统

《数据库技术》 实验指导书徐州师范大学计算机科学与技术学院

实验一使用数据库管理系统(2学时) 【实验目的】 1.掌握服务管理器的启动和停止方法; 2.掌握注册服务器的步骤; 3.掌握在SQL Server 2008中创建和编辑数据库; 4.掌握备份、附加和分离数据库的方法 【实验要求】 1.熟练掌握SQL Server2008数据库服务器服务启动和注册方法; 2.熟练使用Management Studio界面方式创建及编辑数据库; 3.熟练进行数据库备份、分离附加操作; 4.独立完成实验内容,并提交书面实验报告。 【实验内容】 1. 管理SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动等操作; 2. 注册SQL Server 2008服务器。 3. 使用SQL Server 2008对象资源管理器和SQL语句(新建查询)两种方法,完成学生管理系统数据库的创建,修改数据库属性。 (1)创建一个数据库,要求如下。 ●数据库名“STUDENT”。 ●数据库中包含一个数据文件,逻辑文件名为student_data,磁盘文件名为 student_data.mdf,文件初始容量为10MB,最大容量为100MB,文件容量递增值为5%。 ●事务日志文件,逻辑文件名为student_log,磁盘文件名为student_log.ldf,文件初始 容量为5MB,最大容量为30MB,文件容量递增值为2MB。 (2)对该数据库做如下修改。 ●添加一个数据文件.逻辑文件名为student2_data,磁盘文件名为student2_data.ndf, 文件初始容量为5MB,最大容量为50MB,文件容量递增值为5MB。 ●将日志文件的最大容量增加为50MB.递增值改为3MB。 (3)将学生数据库更名为STU。 (4)备份STUDENT数据库。 (5)删除STUDENT数据库。 (6)还原STUDENT数据库。 4.附加给定的数据库文件并分离创建好的数据库文件。 【实验步骤】 1.管理SQL Server 2008服务器,主要包括启动、暂停、停止和重新启动等

云南大学-实验六-数据库完整性报告

云南大学软件学院 实验报告 课程:数据库原理与实用技术实验任课教师:刘宇、张璇 姓名:学号:专业:信息安全成绩: 实验6 数据库完整性 实验6-1 完整性约束 1、创建规则(用图形或者语句方法创建) (1)创建入学日期规则“Enter_University_date_rule”,假定该学校于1923年4月30日创建。要求:入学日期必须大于等于学校创建日期,并且小于等于当前日期 测试: (2)创建学生年龄规则“Age_rule”。要求:学生年龄必须在15~30岁之间

测试: (3)创建学生性别规则“Sex_rule”。要求:性别只能为“男”或“女” 测试:

(4)创建学生成绩规则“Score_rule”。要求:学生成绩只能在0~100之间 (5)用图形方法查看学生成绩规则“Score_rule”,截图为: 双击:成绩: (6)用语句方法查看学生成绩规则“Score_rule”,语句为:

2、删除规则Enter_University_date_rule 3、创建默认(用图形或者语句方法创建) (1)创建默认时间“Time_default”为当前系统时间 (2)创建默认入学年龄“Age_default”为18岁 (3)用图形方法查看默认入学年龄“Age_default”,截图为:

(4)用语句方法查看默认入学年龄“Age_default”,语句为: 4、删除默认入学年龄“Age_default” 5、创建声明式默认:在创建表的过程中创建声明式默认 (1)创建表“default_example”,表中包含字段pid、name、sex、age。要求设定sex的默认值为“男”、age的默认值为18。 编号姓名性别年龄 101 苏晴女 201 马拯山20 执行结果为: 输入数据:

数据库实验六

6 综合型实验项目索引和数据完整性 匹配课程代码及名称:070785,数据库应用设计 适用专业及本项目实验学时:计算机科学与技术专升本,6学时 一、实验目的及要求 (1)掌握索引的使用方法; (2)掌握索引的设计与实现方法。 (3)掌握数据完整性的类型; (4)掌握数据完整性的实现方法。 二、实验内容 在已建好的YGGL数据库中,设计并创建索引,并进行索引的重建、删除操作。提交程序源代码(电子版,1周内)和实验报告(纸制、1周内)。三、实验条件及设备要求 已安装SQL Server 2008数据库管理系统的实验机。 四、实验相关知识点 数据库实体完整性、索引。 五、实验实施步骤 (一)建立索引 1、对YGGL数据库的Employees表中的DepartmentID列建立索引。 createindex depart_ind on Employees(DepartmentID)

2、在Employees表的Name列和Address列上建立复合索引。 create index ad_ind on Employees(Name,Address) 3、对Departments表上的DepartmentName列建立唯一非聚集索引。 go create unique index dep_ind on Departments(DepartmentName) go (二)重建索引 1、重建表Employees中的所有索引。 alter index all on Employees rebuild

(三)删除索引。 1、使用DROP INDEX语句删除表Employees上的索引Depart_ind。 drop index Depart_ind on Employees 2、使用DROP INDEX一次删除Employees表上的多个索引。 go drop index Departments.Dep_ind,Employees.Ad_ind go (四)数据完整性操作 1、创建一个表Employees5,只含EmployeesID,Name,Sex和Education列。将Name,设为主键,作为列Name的约束。对EmployeesID列进行UNIQUE约束,并作为表的约束。 create table Employees5( EmployeesID char(6)not null, Name char(10)not null primary key, Sex tinyint,

数据库实验1

云南大学软件学院 实验报告 实验1 熟悉实验环境 1.安装SQL Server 2000或者SQL Server 2005系统(请同学实验课后自己练习)。 2.查看安装Microsoft SQL Server 2000的目录结构。找到电脑上安装数据库程序的路径, 如图: 查看并记录下列主要文件夹的含义: 1)BACKUP:用于储存备份的文件。 2)Binn:二进制文件夹,可执行文件 3)Data:用于存放你建立的数据库和建立的表格 4)LOG:主要存放你历史记录的文件 5)Install:sql server数据库脚本,可以在查询分析器里或相应脚本编辑器里执行 6)JOBS:工作,任务。常用于执行一些自动化的操作。 3.启动SQL Server数据库服务。 你所启动的SQL Server服务器名是 你所启动的服务是 如何启动后停止SQL Server服务器:

打开找到右键点击停止 4.使用“企业管理器” (1)了解企业管理器的界面、菜单结构以及各项功能; (2)了解“数据库服务器”的属性配置; 你所使用的SQL Server服务器采用的“内存”配置是: 不采用awe分配内存,最小服务器内存0,最大服务器内存2147483647MB “安全性”配置中采用的身份验证是什么方式: (3)进入master数据库。 该数据库当前占用的存储空间是多大: 该数据库的存储路径是什么: 该数据库中包含哪些数据表: 5.使用“查询分析器” 查询分析器有什么作用:使用SQL语句对本地或远程计算机数据库进行查询和修改 (1)在查询分析器中如何选择msdb数据库: 选择 (2)查询分析器的初步使用:在分析器中输入语句: select * from backupfile (backupfile数据表中存储了备份数据库的信息) 运行以上语句,得到的结果是(可截图):

6实验六-数据库完整性

实验报告书 课程名《数据库原理与应用A 》题目:数据库完整性 班级: 学号: 姓名:

1、实验内容或题目 数据库完整性 2、实验目的与要求 (1)掌握sql server 2005 数据库完整性的机理,理解并掌握约束。 (2)进行实验操作。 3、实验步骤与源程序 ⑴实验步骤 掌握Sql server 2005基本语句的使用,主要是PRIMARY KEY约束、FOREIGN KEY约束、UNIQUE 约束、CHECK约束、NOT NULL。 练习Sql server 2005基本语句的使用。 完成实验报告。 ⑵编写源代码 SQLQuery1(例13.1,在test数据库中创建department表,其中指定dno为主键): use test go create table department ( dno int primary key, dname char(20), ) go SQLQuery2(例13.2,使用FOREIGN KEY子句进行相关操作): use test go create table worker (no int primary key, name char(8), sex char(2), dno int foreign key references department(dno) on delete no action, address char(30) )

go SQLQuery3(例13.3,在test数据库中创建table5表,其中指定c1列不能包含重复的值): use test go create table table5 ( c1 int unique, c2 int ) go insert table5 values(1,100) go /*插入下一行,则会出现错误消息*/ insert table5 values(1,200) SQLQuery4(例13.4,在test数据库中创建table6表,其中使用CHECK约束限定f2列为0-100分): use test go create table table6 ( f1 int, f2 int not null check(f2>=0 and f2<=100) ) go /*插入下一行,则会出现错误消息*/ insert table6 values(1,120) SQLQuery5(例13.5,在test数据库中创建table7表,其主键为c1和c2,将其中插入两个记录,输出这些记录): use test go create table table7 ( c1 int, c2 int, c3 char(5), c4 char(10), constraint c1 primary key(c1,c2) ) go use test insert table7 values(1,2,'ABC1','XYZ1') insert table7 values(1,2,'ABC2','XYZ2') go select*from table7 go

数据库实验报告(一)

滨江学院 题目数据库实验报告(一) 学生姓名 学号 系部电子工程系 专业通信工程 指导教师林美华 二O一三年十二月十八日

实验一数据库的定义实验 本实验需要2学时。 一、实验目的 要求学生熟练掌握和使用SQL、SQL Server企业管理器创建数据库、表、索引和修改表结构,并学会使用SQL Server 查询分析器接收语句和进行结果分析。 二、实验内容 1 创建数据库和查看数据库属性。 2 创建表、确定表的主码和约束条件。为主码建索引。 3 查看和修改表结构。 4 熟悉SQL Server企业管理器和查询分析器工具的使用方法。 三、实验步骤 1 基本操作实验 (1) 使用企业管理器按教材中的内容建立图书读者数据库。 (2)在企业管理器中查看图书读者数据库的属性,并进行修改,使之符合要求。 (3)通过企业管理器,在建好的图书借阅数据库中建立图书、读者和借阅3个表,其结构为; 图书(书号,类别,,作者,书名,定价,作者). 读者(编号,,单位,性别,). 借阅(书号,读者编号,借阅日期) 要求为属性选择合适的数据类型,定义每个表的主码.是否允许空值和默认值等列级数据约束。 (4)在企业管理器中建立图书、读者和借阅3个表的表级约束.每个表的主码约束.借阅表与图书表间、借阅表与读者表之间的外码约束,要求按语义先确定外码约束表达式.再通过操作予以实现.实现借阅表的书号和读者编号的惟一性约束:实现读者性别只能是“男”或“女”的Check(检查)约束。 2 提高操作实验 (一) 将教材中用SQL描述的建立学生--课程操作.在SQL Server企业管理器中实现。库中表结构为: 学生(学号,,年龄,性别,所在系). 课程(课程号,课程名,先行课). 选课(学号,课程号,成绩) 要求: 1)建库、建表和建立表间联系。, 2)选择合适的数据类型。 3)定义必要的索引、列级约束和表级约束. 四、实验方法 l创建数据库 (1)使用企业管理器创建数据库的步骤 1)从“开始”菜单中选择;“程序”“Microsoft SQL2000”“企业管理器”.

大学生数据库实验课实验六报告

《数据库技术及应用》实验六、SQL数据查询语言 DQL 学生姓名 学生班级 学生学号 指导老师

一.实验内容 本次实验用于了解SQL语言的SELECT语句对数据的查询,学会在Navicat for MySQL中用SELECT语句对表中的数据进行简单查询、连接查询、嵌套查询和组合查询。 实验步骤:执行以下内容 1. 启动Navicat for MySQL,登录到本地数据库服务器后,连接到test数据库上。 用Create Table建立Student表、Course表和Choose表: (建表语句并非本次重点略) 2.用INSERT语句分别向Student表中插入3个元组、Course表中插入3个元组、Choose表中插入7个元组:

1中的截图就是已经运行这些语句后截图的结果。。 3. 用SELECT语句,查询计算机学院学生的学号和姓名。 4.用between…and…表示查询条件,查询年龄在20~23岁的学生信息。

5. 用SELECT语句的COUNT()聚集函数,统计Student表中学生总人数。 6.用SELECT语句的max()、min()、sum()、avg()四个聚集函数,计算Choose 表中C1课程的最高分、最低分、总分、平均分。 7.用SELECT语句对空值(NULL)的判断条件,查询Course表中先修课称编号为空值的课程编号和课程名称。 8. 查询学生的学号、姓名、选修的课程名及成绩。 9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。 10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的

数据库实验1

邮电大学计算机学院 《大型数据库技术》 实验一:MySQL数据库安装配置及基础使用 :侯利萍班级:09 学号:B13040905 2016年 3 月21 日星期一 说明:斜体需要输出的部分。 下载安装MySQL 搜索MySQL下载页面 网址: 查看各种MySQL版本 MySQL主要版本及区别: 所下载版本及版本号: 安装配置MySQL 数据库基本操作 创建数据库 创建一个企业管理系统数据库,命名为enterprisedb,字符集选择utf8. SQL语句:create database enterprisedb; set charset utf8; 输出截图:

创建关系表 创建一雇员表,命名为employee,包括如下字段:雇员工号(从86001 开始递增),,性别,生日,部门名称。(请选择合适的数据类型) SQL语句: create table employe (id int(10) primary key AUTO_INCREMENT,name varchar(10),sex varchar(10),birthday virchar(10)) AUTO_INCREMENT=86001; 输出截图: 插入数据操作 插入10条不同信息的雇员,信息自定,需要符合实际。 SQL语句:insert into employe values("0","zhang","man","1996.1.2","mangager"); insert into employe values("0","","man","1996.1.2","mangager"); insert into employe values("0","","man","1995.1.2","mangager"); insert into employe values("0","胡","woman","1994.1.2","worker"); insert into employe values("0","周","woman","1995.1.1","worker"); insert into employe values("0","","woman","1995.3.1","worker"); insert into employe values("0","王","woman","1995.3.1","seller"); insert into employe values("0","吴","woman","1995.2.1","seller"); insert into employe values("0","吴","man","1995.2.1","seller"); insert into employe values("0","","man","1989.2.1","leader"); insert into employe values("0","田 ","woman","19988.2.1","leader"); 注释:在测试英文中文是否都正常时,多输入一个英文员工。 输出截图:

相关文档
最新文档