西 安 邮 电 大 学
数据库课内实验
报 每天日记怎么写告 书
学院名称 | : | 计算机学院 |
学生姓名 | : | 高 丹 |
专业名称 | : | 计算机科学与技术 |
班 级 | : | 1106班 |
学号 | : | 04111196(22) |
时间 | : | 2013.4—2013.5 |
| | |
实验2 定义表和数据库完整性
一、实验目的
1.了解SQL Server 2000的基本数据类型、空值的概念,以及表的结构特点。
2. 学会使用T_SQL语句和企业管理器创建表结构和修改表结构。
3. 学会使用SQL Server 2000提供的数据完整性功能,并在创建表时定义表的数据完整性。通过实验进一步理解数据完整性的概念及分类。
二、实验内容
用T_SQL语句在Market数据库中创建客户基本信息表Cuetomers、货品信息表Goods、订单信息表Orders,它们的定义如下
/*基本表的定义与创建*/
CREATE TABLE Customers
(
CustomerID int IDENTITY(1,1) PRIMARY KEY,
CName 绝经前症状varchar(8) NOT NULL,
Address varchar(50),
City varchar(10),
Tel varchar(20) UNIQUE,
Company varchar(50),
Birthday datetime,
Type tinyint DEFAULT 1
);
CREATE TABLE Goods
(
GoodsID int CONSTRAINT C1 PRIMARY KEY,
GoodsName varchar(20) NOT NULL,
Price money,
Decription 淡定自若varchar(200),
Storage int,
季羡林日记 Provider varchar(50),
Status tinyint DEFAULT(0)
);
CREATE TABLE Orders
(
OrderID int IDENTITY(1,1) CONSTRAINT C2 PRIMARY KEY,
GoodsID int NOT NULL REFERENCES Goods(GoodsID) ON DELETE CASCADE,
/*表级完整性约束条件,参照约束为Goods(GoodID),删除时进行级联删除*/
CustomerID int NOT NULL FOREIGN KEY(CustomerID)
REFERENCES Customers(CustomerID) ON DELETE NO ACTION,
/*表级完整性约束条件,参照约束为Customers(CustomerID),删除时不删除参照表中的被引用行*/
Quantity int NOT NULL CONSTRAINT C3 CHECK(Quantity > 0),
Ordersum money NOT NULL,
OrderData datetime DEFAULT(getdate())
);
实验3 表数据的插入、修改和删除
一、实验目的
掌握使用T_SQL语句和企业管理器对数据进行插入、修改和删除数据的操作,并体会数据完整性约束的作用,加深对数据完整性及其约束的理解。
通过本实验,要熟练掌握INSERT、UPDATE、DELETE语句的语法和使用方法。
二、实验内容
(1)向数据库Market的各张表中输入一些记录。
(2)使用T_SQL语句进行插入、修改和删除记录的操作。
/*在Customers表中已有数据的基础上向各个表中插入数据*/
INSERT INTO Customers(CName,Address,City,Tel,Company,Birthday)
VALUES('王伟','长安区','西安','029005',拔丝苹果'邮电大学','1995-02-13')
/*向Goods表中插入数据*/
INSERT INTO Goods(GoodsID,GoodsName,Price,Decription,Storage,Provider,Status)
VALUES('0001','书包',45.00,'双肩包','20','舒适','1')
/*向Goods表中插入数据*/
INSERT INTO Goods(GoodsID,GoodsName,Price,Decription,Storage,Provider,Status)
VALUES('0001','书包',45.00,'双肩包','20','舒适','1')
/*修改表中的数据*/
UPDATE Goods /*将Goods表中的所有价钱都增加*/
SET Price=Price+10;
UPDATE Orders
SET Quantity=5
WHERE CustomerID=2;/*将Orders表中CustomerID为的客户订单数量修改为*/
UPDATE Customers
SET Tel=0911536 , Address='长安区'
WHERE CustomerID=3;
修改后的表:
/*删除表中的一些数据*/
DELETE FROM Orders
WHERE CustomerID=2;/*删除了CustomerID为的订单记录*/
删除记录之后的表:
实验4 数据的简单查询和连接查询
一、实验目的
数据查询时数据库中最基本的操作,也是使用最频繁的操作,因此必须掌握SQL的查询语句(SELECT语句)的使用方法。本实验要求掌握简单表的数据查询、数据排序和多表操作时数据连接查询的操作方法。
二、实验内容
(1)简单查询操作。该实验包括投影、选择条件表达、数据排序等。
在数据库Market的客户表Customers、货品表Goods、订单表Orders中完成第3章习题6中(1)-(4)的查询。
(2)连接查询操作。该实验包括等值连接、自然连接、一般连接(内连接) 、外连接、左外连接、右外连接和自然连接等。
在数据库Market的客户表Customers、货品表Goods、订单表Orders中完成第3章习题6中(5)的查询。
(一)简单查询操作
1,查找所有西安客户的信息
/*查询*/
SELECT *
FROM Customers
入木三分练字笔
WHERE City='西安'; /*查找所有西安客户的信息*/
2.查找所有商品的名称,库存,价格以及表示打折价,按升序排列
SELECT GoodsName,Storage,Price,0.25*Price Discount
From Goods
ORDER BY Price ASC; 梦见开车撞人了/*查找所有商品的名称,库存,价格以及表示打折价,按升序排列*/
3.查找商品名中包含“衣”的商品编号,名称及价格
SELECT GoodsID,GoodsName,Price
From Goods
WHERE GoodsName LIKE '%衣%'; /*查找商品名中包含“衣”的商品编号,名称及价格*/
4.查询库存量大于小于的商品名称,库存和单价
SELECT GoodsName,Storage,Price
From Goods
WHERE Storage>100 AND Storage<500; /*查询库存量大于小于的商品名称,库存和单价*/
(二)连接查询操作
查找2011年1月街头巷尾1日至2012年1月1日期间,订货金额大于2的所有订单的客户姓名,商品名称,单价,订货数量和订货金额
/*连接查询*/
SELECT Goodsname,Cname,Price,Quantity,Ordersum
FROM Customers,Goods,Orders
WHERE Customers.CustomerID=Orders.CustomerID and
Goods.GoodsID=Orders.OrderID and
Orderdata between '2011-01-1 'and '2012-1-1' and Quantity>2