学习完SQL的 基础理论知识,下面开始依照具体的实例来落实SQL的操作。
要求一、分别使用SQL Server Management Studio和Create Table命令创建图书管理系统数据库中的四个数据表的结构:readers(读者信息表)、books(图书信息表)、borrowinf(借阅信息表)、readtype(读者类型表)。各表的结构如下:
(1)readers表结构:
列名含义数据类型长度允许空主键
![](https://img.haomeiwen.com/i17624987/8668c35aee8f797a.png)
(2)books 表的结构:
列名含义数据类型长度允许空主键
![](https://img.haomeiwen.com/i17624987/b28dbe107e49c844.png)
(3)borrowinf表的结构:
列名含义数据类型长度允许空主键
![](https://img.haomeiwen.com/i17624987/f9ebb39d7558a913.png)
(4)readtype表的结构:
列名含义数据类型长度允许空主键
![](https://img.haomeiwen.com/i17624987/ce72858220eccb30.png)
该表中数据至少包括教师、学生和其他人三种类型。
要求二、对以上四个表分别用分别使用SQL Server Management Studio和insert命令输入多条记录。
要求三、请分别设置各表的主键及主外键约束。
要求四、、限定readtype表中“借阅期限”不能超过5个月。
实现相关代码:
IF OBJECT_ID ( 'readers' ) IS NOT NULL
DROP TABLE readers;
GO
IF OBJECT_ID ( 'books' ) IS NOT NULL
DROP TABLE books;
GO
IF OBJECT_ID ( 'borrowinf' ) IS NOT NULL
DROP TABLE borrowinf;
GO
IF OBJECT_ID ( 'readtype' ) IS NOT NULL
DROP TABLE readtype;
GO
drop database LIBRAYS
CREATE DATABASE LIBRAYS
ON
(
NAME = BookManagement,
FILENAME = 'E:\LIBRAYS.mdf',
SIZE = 5,
MAXSIZE = 20
);
CREATE TABLE readers
(
ReaderID char(10),
Name char(8),
ReaderType int,
BorrowdQuantity int,
primary key(ReaderID),
);
CREATE TABLE books
(
BookID Char(15),
Name char(50),
Author char(8),
Publisher char(30),
PublishedDate date,
Price float,
PRIMARY KEY (BookID),
);
CREATE TABLE borrowinf
(
ReaderID char(10),
BookID char(15),
BorrowedDate datetime,
ReturnDate datetime,
PRIMARY KEY (ReaderID),
);
CREATE TABLE readtype
(
TypeID int,
Name char(20),
LimitBorrowQuantity int,
BorrowTerm int,
PRIMARY KEY (TypeID),
);
![](https://img.haomeiwen.com/i17624987/17aa36521ca05750.png)
总结:
过程中出现了很多错误
1、数据库、对象建立一次后系统中已存在这些内容就不再次建立了,若要再次建立同名数据库对象需先删除后建立,但有些对象因为参照完整性约束是无法删除的,只能采取第二种方式,断开服务器连接,重新连接服务器。
2、数据的插入式要符合所查入列域的数值类型的要求,否则便会出现下午中所示错误。
3、安装过程中也存在一些问题,不过都很简单就能解决
4、数据库和写其他代码不一样,虽然也是由代码组成,但它是一组不可挽回的操作,不具有其他代码的可重复修改的特性
5、checkSQL CHECK约束
6、CHECK约束用于限制列中的值的范围。
如果对单个列定义CHECK约束,那么该列只允许特定的值。
如果对一个表定义CHECK约束,那么此约束会在特定的列中对值进行限制。
SQL CHECK Constraint on CREATE TABLE
下面的SQL在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 0 的整数。语句
[if !supportLists]7、[endif]Datetime数据类型
datetime描述
属性 值
句法 约会时间
用法 DECLARE @MyDatetime datetime
CREATE TABLE Table1(Column1 datetime)
默认字符串文字格式
(用于下级客户端) 不适用
日期范围 1753年1月1日至9999年12月31日
时间范围 00:00:00至23:59:59.997
时区偏移范围 没有
元素范围 YYYY是1753到9999的四位数,代表一年。
MM是两位数,范围从01到12,表示指定年份的月份。
DD是两位数,取决于月份,从01到31,代表指定月份的一天。
hh是两位数,范围从00到23,代表小时。
mm是两位数,范围从00到59,表示分钟。
ss是两位数,范围从00到59,代表第二个。
n *是0到3位数,范围从0到999,表示小数秒。
字符长度 最少19个位置,最多23个
网友评论