图书发行数据库应用系统,处理书店(S)向图书馆(L)发行(LBS)图书(B),S﹑L﹑LBS﹑B的数据见附表2。1﹑创建相应的数据库和查看数据库属性; 2﹑创建基本表﹑确定表的主码和相应的约束,为主码建索引; 3﹑创建﹑查看视图; 4﹑利用T-SQL和SQL Server企业管理器向数据库输入数据。
时间: 2023-06-13 10:03:04 浏览: 290
图书管理系统数据库设计与实现(包括需求分析,数据库设计,数据表、视图、存储过程等)
5星 · 资源好评率100%
1. 创建数据库和查看属性:
创建数据库:
```
CREATE DATABASE BookDistribution;
```
查看数据库属性:
```
USE BookDistribution;
EXEC sp_helpdb 'BookDistribution';
```
2. 创建基本表,确定主键和约束,为主键建立索引:
创建表S:
```
CREATE TABLE S (
Sid CHAR(10) PRIMARY KEY,
Sname VARCHAR(20) NOT NULL,
Saddress VARCHAR(50),
Sphone CHAR(11)
);
```
创建表L:
```
CREATE TABLE L (
Lid CHAR(10) PRIMARY KEY,
Lname VARCHAR(20) NOT NULL,
Laddress VARCHAR(50),
Lphone CHAR(11)
);
```
创建表B:
```
CREATE TABLE B (
Bid CHAR(10) PRIMARY KEY,
Bname VARCHAR(50) NOT NULL,
Bauthor VARCHAR(20) NOT NULL,
Bpublisher VARCHAR(50) NOT NULL,
Bpubdate DATE NOT NULL,
Bprice DECIMAL(8, 2) NOT NULL,
Binventory INT NOT NULL,
Btype VARCHAR(20)
);
```
创建表LBS:
```
CREATE TABLE LBS (
Lid CHAR(10) REFERENCES L(Lid),
Bid CHAR(10) REFERENCES B(Bid),
Sdate DATE NOT NULL,
Edate DATE NOT NULL,
PRIMARY KEY(Lid, Bid, Sdate)
);
```
为主键建立索引:
```
CREATE INDEX idx_Sid ON S(Sid);
CREATE INDEX idx_Lid ON L(Lid);
CREATE INDEX idx_Bid ON B(Bid);
CREATE INDEX idx_LBS ON LBS(Lid, Bid, Sdate);
```
3. 创建视图:
创建视图VS,显示S表中所有数据:
```
CREATE VIEW VS AS
SELECT * FROM S;
```
创建视图VL,显示L表中所有数据:
```
CREATE VIEW VL AS
SELECT * FROM L;
```
创建视图VB,显示B表中所有数据:
```
CREATE VIEW VB AS
SELECT * FROM B;
```
创建视图VLBS,显示LBS表中所有数据:
```
CREATE VIEW VLBS AS
SELECT * FROM LBS;
```
4. 向数据库输入数据:
可以通过T-SQL或SQL Server企业管理器向数据库输入数据。
通过T-SQL向S表中输入数据:
```
INSERT INTO S(Sid, Sname, Saddress, Sphone) VALUES ('S001', 'Book Shop', 'No. 1, Main Street', '12345678901');
INSERT INTO S(Sid, Sname, Saddress, Sphone) VALUES ('S002', 'Bookstore', 'No. 2, Second Street', '12345678902');
```
通过SQL Server企业管理器向L表中输入数据:
1. 在对象浏览器中选择数据库,展开Tables,右键点击L,选择Edit Top 200 Rows;
2. 在弹出的窗口中输入数据,保存即可。
通过T-SQL向B表中输入数据:
```
INSERT INTO B(Bid, Bname, Bauthor, Bpublisher, Bpubdate, Bprice, Binventory, Btype) VALUES ('B001', 'Database System Concepts', 'Abraham Silberschatz', 'McGraw-Hill Education', '2020-01-01', 99.00, 100, 'Computer Science');
INSERT INTO B(Bid, Bname, Bauthor, Bpublisher, Bpubdate, Bprice, Binventory, Btype) VALUES ('B002', 'Operating System Concepts', 'Abraham Silberschatz', 'John Wiley & Sons', '2020-02-01', 89.00, 50, 'Computer Science');
```
通过SQL Server企业管理器向LBS表中输入数据:
1. 在对象浏览器中选择数据库,展开Tables,右键点击LBS,选择Edit Top 200 Rows;
2. 在弹出的窗口中输入数据,保存即可。
阅读全文