数据库和表的创建

本文使用SQLserver数据库为示范

1 目的

1、掌握利用 SSMS 及 SQL 命令两种方式管理数据库;
2、掌握利用 SSMS 及 SQL 命令两种方式管理表;
3、理解数据文件、事务日志文件、文件组的概念;
4、理解实体完整性、参照完整性和用户自定义完整性;
5、掌握 PRIMARY KEY 约束,FOREIGN KEY 约束,UNIQUE 约束CHECK 约束和 DEFAULT约束的使用。

2 要点

1、创建数据库、修改数据库、删除数据库、数据库的分离与附加;
2、创建表、修改表、删除表、五种数据约束;

3 主要内容

得到的简易图书管理数据库(假定数据库名为:BooksDB)包含 4 个关系(即:数据表)。
关系名、属性及说明分别如下述各表所示。
(1)读者类别表 ReaderType

(2)读者信息表 Reader

(3)图书信息表 Book


(4)借阅信息表 Borrow

要求完成如下任务:
1、利用 SQL 命令创建 BooksDB 数据库及表;
2、分离与附加 BooksDB;
3、数据导入/导出:将 BooksDB 数据库导出到 Access 数据库。

4 详细步骤和SQL命令

4.1 使用 SQL 命令管理数据库和表

1、创建并使用数据库 BooksDB

create database BookDB  --创建数据库
go
use BooksDB  --使用数据库
go

2、创建读者类别表 ReaderType

create table ReaderType(rdType Int primary key,  --读者类别号rdTypeName varchar(20),  --读者类别名称canLendQty int,          --可借书天数canLendDay int           --可借书天数
)

运行后得到表格如下:

3、创建读者表 Reader

create table Reader(rdID char(9) primary key,  --读者编号rdType int references ReaderType(rdType),--读者类别rdName varchar(20),  --读者姓名rdDept varchar(40),  --读者单位rdQQ varchar(13),  --读者QQrdBorrowQty int default 0 check(rdBorrowQty between 0 and 10)  --已借书天数
)

运行后得到表格如下:

4、创建图书表 Book

create table Book(bkID char(9) primary key,  --书号bkName varchar(50),  --书名bkAuthor varchar(50),  --作者bkPress varchar(50),  --出版社bkPrice decimal(5,2),  --单价bkStatus int default 1  --是否在馆,1:在馆,0:不在馆
)

运行后得到表格如下:

5、创建借阅信息表 Borrow

create table Borrow(rdID char(9) references Reader(rdID),  --读者编号bkID char(9) references Book(bkID),  --书号DateBorrow datetime, --借书日期DateLendPlan datetime,  --应还日期DateLendAct datetime,  --实际还书日期primary key(rdID,bkID)
)

运行后得到表格如下:

4.2 向数据表中录入测试数据

向表中录入数据时,必须严格按照创建表时给的数据类型录入。
1、向ReaderType表中插入数据

insert into ReaderType values('1','教师','10','60')
insert into ReaderType values('2','本科生','5','30')
insert into ReaderType values('3','硕士研究生','6','40')
insert into ReaderType values('4','博士研究生','8','50')

运行后得到表格如下:

2、向Reader表中插入数据

insert into Reader values('rd2017001','1','刘宇','计算机科学学院','2546831','1')
insert into Reader values('rd2017002','2','邱琳','管理学院','1542368','1')
insert into Reader values('rd2017003','3','罗美娟','外语学院','54265825','1')
insert into Reader values('rd2017004','4','王强','电信学院','2543698','1')

运行后得到表格如下:

3、向Book表中插入数据

insert into Book values('bk2017001','数据库原理及应用','王丽艳','机械工业出版社','33.00','1')
insert into Book values('bk2017002','高等数学','同济大学数学系','高等教育出版社','32.00','1')
insert into Book values('bk2017003','当代教育心理学','陈琦','北京师范大学出版社','37.20','1')
insert into Book values('bk2017004','古代汉语','王力','中华书局','20.40','1')

运行后得到表格如下:

4、向Borrow表中插入数据

insert into Borrow values('rd2017001','bk2017002','2017.6.1','2017.8.1','2017.6.10')
insert into Borrow values('rd2017002','bk2017001','2017.5.2','2017.6.2','2017.5.20')
insert into Borrow values('rd2017003','bk2017003','2017.3.15','2017.4.24','2017.4.10')
insert into Borrow values('rd2017004','bk2017001','2017.2.8','2017.3.28','2017.2.28')

运行后得到表格如下:

4.3 分离与附加数据库

1、分离数据库
(1)在对象资源管理器中,选中数据库 BooksDB,选择右键菜单“任务”->“分离”。如下图所示。

(2)在弹出的“分离数据库”对象框中,单击“确定”按钮。

2、附加数据库
数据库分离成功后,利用数据文件 BookDB.mdf 及事务日志文BookDB_log.ldf 附加数据库BooksDB。
(1)在对象资源管理器中,选中“数据库”,选择右键菜单“附加(A)…”。如下图所示。

(2)在弹出的“附加数据库”对象框中,单击“添加(A)…”按钮,添加数据库的 MDF 文件。单击“确定”按钮。

数据库之数据库和表的创建相关推荐

  1. SQL2K数据库开发十一之表操作创建UNIQUE约束

    1.在数据库关系图中右击表Products,然后从弹出的菜单中选择"属性"命令.或者点击工具栏上的属性图标.         2.或者展开sample数据库,在表Products上 ...

  2. Oracle数据库用户角色、表空间创建、删除命令

    Oracle数据库用户角色.表空间创建.删除命令 //创建数据表空间 create tablespace BCC datafile 'D:\oracle\oradata\BCC\BCC.dbf' si ...

  3. SQL2K数据库开发六之表操作创建产品表products

    1.在SQL Server企业管理器中的数据库下的"表"节点上右击鼠标,在弹出的菜单上点击"新建表". 2.在出现的表设计器中,为表中加入五个列:Product ...

  4. 第一课:数据库的基本操作(表的创建、删除、修改、重命名、主键、截断表)

    一.表的创建 在Mysql中,通过使用create table 来创建表. 1.create table 的基本语法结构 create table 表名 ( 字段名1    数据类型   字段约束 字 ...

  5. mysql创建复杂表_数据库_MySQL_复杂的表结构创建

    本例示例下复杂的表结构创建, 大致分为两张表 user表 和 authority(权限表) 每个用户对应一种权限,默认为1(普通用户)  灵感来源:(仿照 进程的优先级, 优先级越高的进程,数字越小) ...

  6. SQL2K数据库开发八之表操作创建主键

    1.使用Transact-SQL语句在表中创建主键时,可以在创建表的语句中定义列时使用如下语法: 2.在查询分析器中输入如下的语句,可以创建一个表Suppliers,该表中的SupplierID列被定 ...

  7. SQL2K数据库开发七之表操作添加删除和修改列

    1.在已有的表中添加.删除和修改列可以使用Transact-SQL中的ALTER TABLE语句,使用ALTER TABLE语句的语法为: 2.在SQL Server查询分析器中输入如下语句,往Pro ...

  8. SQL基础学习总结:2(表的创建、删除、更新和名称修改)

    表的创建.删除.更新和名称修改 登录MySQL(mysql -u root -p语句) 步骤: 1.首先得先使用mysql -u root -p语句登录数据库: 2.在"Enter pass ...

  9. mysql创建销售表_MySQL创建数据表(CREATE TABLE语句)

    在创建数据库之后,接下来就要在数据库中创建数据表.所谓创建数据表,指的是在已经创建的数据库中建立新表. 创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性(包括实体完整性.引用完整性和域 ...

  10. python数据库建表_mysql数据表如何创建

    在 MySQL 中,可以使用 CREATE TABLE 语句创建表.其语法格式为:CREATE TABLE <表名> ([表定义选项])[表选项][分区选项]; 其中,[表定义选项]的格式 ...

最新文章

  1. php pdo 时间,php – 使用PDO执行时间记录查询 – 自动完成功能无效
  2. 生产者,消费者,CDN
  3. JAVa面向对象--反射
  4. spring怎么设置定时任务为每天凌晨2点执行和每小时执行一次?(亲测)
  5. 0.typescript-相关文档
  6. HashMap的工作原理及其相关的知识点
  7. python dataframe行数_python – 如何在DataFrame中增加groupby中的行数
  8. java阅卷系统_基于jsp的考试阅卷系统-JavaEE实现考试阅卷系统 - java项目源码
  9. 2020 IJCAI 接受论文 list 分类排列(三)
  10. 紧贴潮流,初心未改:OpenInfra Days China升级回归,打造专属OpenStackers的开源大趴
  11. 乾颐堂安德华为数通HCNA真题解析版(第2部分)
  12. tensorflow与pytorch 一起安装
  13. 使用面向对象思想,输出员工信息并计算员工的工资。定义一个部门(Department)类,该类有部门编号(Id)、部门名称(Name)属性;再定义一个员工(Employee)类,该类的属性有员工编号
  14. 传染病模型(1)——SI模型及matlab详解
  15. Python之基础详解(八):必备,以制作交易收盘价走趋图为例,来可视化处理json格式的文件
  16. 基于魔兽RPG对当前游戏发展趋势的分析,以及尝试一个高游戏性玩法的设计
  17. 闲话Google拼音输入法及其它(一)
  18. java controller注解原理_SpringMVC运行流程与原理【Controller接口实现注解实现】
  19. Android Adb命令(4) - ps 查看进程信息
  20. multiset upper_bound() 与 lower_bound()

热门文章

  1. html5旋转的向日葵动画js特效
  2. 爱迪尔门锁系统怎么连接服务器,爱迪尔门锁设置方法是什么?
  3. NFC-A/NFC-B/NFC-F 区别
  4. 用c语言写一个简易的四则运算计算器
  5. 中台战略下的保险订单销售模式设计
  6. 闲着没事,自己做贪吃蛇耍耍?
  7. springSecurity+jwt中实现互踢功能
  8. 凡有所爱,心向往之,且去追寻
  9. java 新手入门电子书_Java基础入门指导(适合所有初学者).pdf
  10. PON与EPON以及GPON的区别是什么?