Microsoft-pubs(图书馆管理系统)-数据库设计
| ylbtech-DatabaseDesgin:微软提供-pubs(图书馆管理系统)-数据库设计 |
| 1.A,数据库关系图 |

| 1.B,数据库设计脚本 |
-- =============================================
-- zhen:模仿pubs库 《图书馆库》
-- 12:51 2011/12/7
-- ylb, tech
-- 感谢贡献者:lgz
-- =============================================
USE master
GO -- Drop the database if it already exists
IF EXISTS (
SELECT name
FROM sysdatabases
WHERE name = N'fpubs'
)
DROP DATABASE fpubs
GO CREATE DATABASE fpubs
GO
use fpubs
go
-- =============================================
-- zhen:1,图书表
-- =============================================
create table titles
(
title_id varchar(6) primary key , --编号【PK】
title varchar(80) not null, --标题
[type] char(12) default('undecided') not null, --类型
pub_id char(4) null, --出版社编号【FK】
price money null, --单价 advance money null, --预付款
royalty int null,
ytd_se int null,
notes varchar(200) null, --备注
pubdate datetime default(getdate()) not null --上架日期
)
go
-- =============================================
-- zhen:2,作者表
-- =============================================
create table authors
(
au_id varchar(11) primary key check([au_id] like '[0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9][0-9][0-9]'), --编号【pk】
au_iname varchar(40) not null, --姓
au_fname varchar(20) not null, --名
phone char(12) default'(未知的)' not null, -- 手机号码
address varchar(40), --地址 city varchar(20), --城市
[state] char(5), --洲
zip char(5) check([zip] like '[0-9][0-9][0-9][0-9][0-9]'), --邮编
[contract] bit --是否在签约中;0;不在;1:在。
)
-- =============================================
-- zhen:3,图书-作者表
-- =============================================
create table titleauthor
(
au_id varchar(11) foreign key references authors(au_id), --作者编号[FK]
title_id varchar(6) foreign key references titles(title_id), --图书编号[FK]
au_ord tinyint null, --
royaltyper int null,
primary key(au_id,title_id) --设置联合主键[PK]
)
--drop table titleauthor
go -- =============================================
-- zhen:4,storesn. 贮藏;备用品;商店(store的复数)v. 储存;供应;容纳(store的三单形式)
-- =============================================
create table stores
(
stor_id char(4) primary key not null, --商店编号[PK]
stor_name varchar(40) null, --商店名称
stor_address varchar(40) null, --商店地址
city varchar(20) null, --所在城市
state char(2) null, --所在州 zip char(5) null --邮编
)
-- =============================================
-- zhen:5,discounts优惠,折价
-- =============================================
create table discounts
(
discounttype varchar(40) not null, --折扣类型
stor_id char(4) foreign key references stores(stor_id) , --商店编号[FK]
lowqty smallint null, --数量下限
highqty smallint null, --数量上限
discount decimal(4,2) not null , --折扣
)
--drop table discounts
-- =============================================
-- zhen:6,jobs 工作(job的复数形式)
-- =============================================
create table jobs
(
job_id smallint primary key not null, --工作编号[FK]
job_desc varchar(50) DEFAULT ('New Position - title not formalized yet') not null, --工作描述
min_lvl tinyint CHECK ([min_lvl] >= 10) not null, --
max_lvl tinyint CHECK ([max_lvl] <= 250) not null --
) --drop table jobs -- =============================================
-- zhen:7,publishers--出版社
-- =============================================
create table publishers
(
pub_id char(4) primary key CHECK([pub_id] = '' or ([pub_id] = '' or ([pub_id] = '' or ([pub_id] = '' or [pub_id] = ''))) or [pub_id] like '99[0-9][0-9]'), --出版社编号[PK]
pub_name varchar(40) null, --出版社名称
city varchar(20) null, --所在城市
state char(2) null, --所在州
country varchar(30) DEFAULT ('USA') null --所在国家
)
--drop table publishers -- =============================================
-- zhen:8,pub_info出版社详细
-- =============================================
create table put_info
(
pub_id char(4) primary key not null, --出版社编号[PK]
logo image null, --标志图
pr_info char(4) foreign key references publishers(pub_id) null --出版信息[FK]
)
--drop table put_info -- =============================================
-- zhen:9,employee雇员;从业员工
-- =============================================
create table employee
(
emp_id int primary key CHECK([emp_id] like '[A-Z][A-Z][A-Z][1-9][0-9][0-9][0-9][0-9][FM]' or [emp_id] like '[A-Z]-[A-Z][1-9][0-9][0-9][0-9][0-9][FM]') not null, --职工编号
fname varchar(20) not null, --职工名
minit char(1) null, --
lname varchar(30) not null, --职工姓
job_id smallint DEFAULT(1) foreign key references jobs(job_id) not null, --工作编号[FK] job_lvl tinyint DEFAULT (10) null, --
pub_id char(4) DEFAULT ('') foreign key references publishers(pub_id) not null, --出版社编号[FK]
hire_date datetime DEFAULT (getdate()) not null --工作日期
)
--drop table employee -- =============================================
-- zhen:10,roysched
-- =============================================
--drop table roysched
create table roysched
(
title_id varchar(6) foreign key references titles(title_id), --书编号[FK]
lorange int null, --低
hirange int null, --高
royalty int null --版权
)
-- =============================================
-- zhen:11,salesadj. 销售的,售货的;有关销售的n. 销售额;销售(sale的复数)
-- =============================================
create table sales
(
stor_id char(4) foreign key references stores(stor_id), --商店编号[FK]
ord_num varchar(20), --订单编码
ord_date datetime not null, --订购日期
qty smallint not null, --数量
payyterms varchar(12) not null, --付款方式
title_id varchar(6) foreign key references titles(title_id) not null, --书编号[FK]
primary key (stor_id,ord_num,title_id) --设置联合主键[PK]
)
--drop table sales
-- =============================================
-- zhen:12,usersn. 使用者;受限用户(user的复数)
-- =============================================
create table users
(
uid char(10) primary key not null, --用户名【PK】
uname char(10) not null, --
ups char(10) not null, --
gender char(2) DEFAULT ('男') null, --性别
age int CHECK (([age] >= 15 and [age] <= 80)) null, --年龄 upower char(10) DEFAULT ('Guest') null, --
sex char(2) null --性别
)
--drop table users
--print '创建图书馆库成功!'
| 1.C,功能实现代码 |
![]() |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
Microsoft-pubs(图书馆管理系统)-数据库设计的更多相关文章
- ylbtech-WelfareSystem(福利发放管理系统)-数据库设计
ylbtech-DatabaseDesgin:ylbtech-WelfareSystem(福利发放管理系统)-数据库设计 1.A,数据库关系图(Database Diagram) 1.B,数据库设计脚 ...
- 口罩预约管理系统——数据库设计(前端+PHP+MySQL)
目录 一.背景 二.口罩预约管理系统介绍 三.数据库设计 四.MySQL创建数据库以及数据表 五.数据库设计总结 一.背景 2020年的疫情影响了我们的生产生活,政府不断加大力度联防联控,遏制疫情的蔓 ...
- XXX银行人事管理系统-数据库设计
1. 用户.权限.角色关系用户基本信息 userinfo [人员表]权限表actions[权限表]员工类型表usertype [管理组表]权限映射表actionmapping [权限映射表]权限分栏表 ...
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(二)数据库初始化、基本登录页面以及授权逻辑的建立
前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...
- ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(一) 基本模型以及数据库的建立
前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...
- Net 通用权限管理系统源码 带数据库设计文档,部署说明文档
Net 通用权限管理系统源码 带数据库设计文档,部署说明文档 包括数据库设计文档部署安装文档源码数据库文件 下载地址:http://www.mallhd.com/archives/1389
- Android应用源码图书馆管理系统带服务端数据库
本项目是一套基于安卓的图书馆管理系统,包括jsp服务端源码,安卓客户端源码和mysql数据库.代码比较简单,供学习anroid与j2ee交互.例如Sqlite的使用.安卓客户端与jsp的web服务端的 ...
- ORM框架SQLAlchemy与权限管理系统的数据库设计
SQLAlchemy是Python编程语言下的一款ORM框架,该框架建立在数据库API之上,使用对象关系映射进行数据库操作,即:将对象转换成SQL,然后使用数据API执行SQL并获取执行结果. 执行流 ...
- 图书馆管理系统程序+全套开发文档(系统计划书,系统使用说明,测试报告,UML分析与设计,工作记录)
图书馆管理系统程序+全套开发文档(系统计划书,系统使用说明,测试报告,UML分析与设计,工作记录): https://download.csdn.net/download/qq_39932172/11 ...
随机推荐
- Fragment (一)
1,简介 Fragement(碎片)允许将Activity拆分成多个完全独立封装的可重用组件,每个组件有它自己的生命周期和UI布局,由此可见,Fragement依赖于Activity,它的生命周期 ...
- POJ1276Cash Machine
http://poj.org/problem?id=1276 题意 : 给你一个目标钱数,再给你钱币的种数和钱币的面值,让你用这些钱凑出不大于目标钱数的钱然后输出这个最接近且不大于目标钱数的钱. 思路 ...
- Oracle的学习三:java连接Oracle、事务、内置函数、日期函数、转换函数、系统函数
1.java程序操作Oracle java连接Oracle JDBC_ODBC桥连接 1.加载驱动: Class.forName("sun.jdbc.odbc.JdbcodbcDriver& ...
- 解决在windows的eclipse上面运行WordCount程序出现的一系列问题详解
一.简介 要在Windows下的 Eclipse上调试Hadoop2代码,所以我们在windows下的Eclipse配置hadoop-eclipse-plugin- 2.6.0.jar插件,并在运行H ...
- Mac 如果一定要写个锁屏程序的话就这样
package test; import java.io.BufferedReader; import java.io.File; import java.io.IOException; import ...
- FastDFS_v5.05安装配置
废话不多讲,启动FastDFS文件服务器的命令是 #/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf #/usr/bin/fdfs_storaged /etc ...
- mysql shell
mysql 查询10分钟以内的数据:select *from t_agent where int_last_login>=CURRENT_TIMESTAMP - INTERVAL 10 MINU ...
- Linux批量杀进程
ps -ef |grep 进程名|grep -v grep |awk '{print $2}' |xargs kill -9
- sqlsevrer中output的用法
近日,看到代码中有output写法,不知其意,经过一番查找,终于找到了原因,它的作用是将修改影响的结果给输出出来. 比如update语句, 除了修改数据以外, 对于发生更新的列, update语句还可 ...
- 【HDOJ】4080 Stammering Aliens
1. 题目描述给定一个长为$n \in [1, 4000]$的字符串,求其中长度最长的子串,并且该子串在原串中出现至少$m$次,并求最右起始位置. 2. 基本思路两种方法:二分+后缀数组,或者二分+哈 ...
