创建学校图书馆数据库 BookDB

问题描述

创建学校图书馆数据库 BookDB

1、创建学校图书馆信息管理系统数据库 BookBD


2、学校图书馆借书信息管理系统建立三个表:


学生信息表:student


字段名称

数据类型

说明

stuID

char(10)

学生编号,主键

stuName

Varchar(10)

学生名称

major

Varchar(50)

专业


图书表:book


字段名称

数据类型

说明

BID

char(10)

图书编号,主键

title

char(50)

书名

author

char(20)

作者


借书信息表:borrow


字段名称

数据类型

说明

borrowID

char(10)

借书编号,主键

stuID

char(10)

学生编号,外键

BID

char(10)

图书编号,外键

T_time

datetime

借书日期

B_time

datetime

还书日期


 


3、为每张表添加相应约束


4、为每张表插入测试数据,验证表的正确性


八、创建学生信息数据库 StuDB


学生成绩信息三个表,结构如下:


学生表:Member


字段名称

数据类型

说明

MID

Char(10)

学生号,主键

MName

Char(50)

姓名


课程表:


字段名称

数据类型

说明

FID

Char(10)

课程,主键

FName

Char(50)

课程名


成绩表:Score


字段名称

数据类型

说明

SID

int

自动编号,主键,成绩记录号

FID

Char(10)

课程号,外键

MID

Char(10)

学生号,外键

Score

int

成绩


  1. 创建StuDB数据库

  2. 创建三张数据表

  3. 为每张表添加约束

     


代码:

if exists (select *from sysdatabases where name='bookDB')
drop database bookDB
create database bookDB
on primary--主数据库文件
(
 name = 'bookDB',
 filename ='D:\project\bookDB.mdf',
 size=5mb,
 maxsize=100mb,
 filegrowth=2mb  
)
------------------------学生信息表:student-----------------------
if exists (select *from sysobjects where name='student')
drop table student
create table student
(
stuID	char(20)not null primary key,--	学生编号,主键
stuName	Varchar(10)not null,--学生名称
major	Varchar(50)not null,--	专业
)
--------------------------图书表:book---------------------------
if exists (select *from sysobjects where name='book')
drop table book
create table book
(
BID	char(10)not null primary key,--	图书编号,主键
title	char(50)not null,--	书名
author	char(20)not null,--	作者
)
---------------借书信息表:borrow---------------
if exists (select *from sysobjects where name='borrow')
drop table borrow
create table borrow
(
borrowID char(10)not null primary key,--	借书编号,主键
stuID char(20)references student(stuID)not null,--	学生编号,外键
BID	char(10)references book(BID)not null,--	图书编号,外键
T_time	datetime not null,--	借书日期
B_time	datetime not null,--	还书日期
)
--日期默认为系统当前日期
alter table borrow
add constraint DF_T_time default(getdate())for T_time
alter table borrow
add constraint DF_B_time default(getdate())for B_time

-------------------学生表:Member------------------------
if exists (select *from sysobjects where name='Member')
drop table Member
create table Member
(
MID	Char(10)not null primary key,--	学生号,主键
MName	Char(50)not null--	姓名
)
alter table Member
add constraint CK_MID check(len(MID)=12)
-------------------课程表---------------------
if exists (select *from sysobjects where name='course')
drop table course
create table course
(
FID	Char(10)not null primary key,--	课程,主键
FName	Char(50)not null--	课程名
)


-----------------成绩表-----------------------------
if exists (select *from sysobjects where name='Score')
drop table Score
create table Score
(
SID	int identity(1,1)not null primary key,--自动编号,主键,成绩记录号
FID	Char(10)references course(FID),--	课程号,外键
MID	Char(10)references Member(MID),--	学生号,外键
Score int not null--	成绩
)
-------------------------测试--------------------
insert into student
(stuID,stuName,major)
values('201558504131','张晴晴','计算机')
insert into book
(BID,title,author)
values('201461','数据库','张大大')

insert into borrow
(borrowID,stuID,BID,T_time,B_time)
values('20148861','201558504131','201461',default,default)





评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我想离开浪浪山去远方看看

希望所有努力和认真都有好的回馈

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值