我像写个图书管理系统 但是不是很清楚 数据库的设计
比如 要哪几张表 哪几个字段
希望大家给点建议 不要实例代码 谢谢
下面的这是我写的 麻烦大家看看 看有什么地方不是很合理的
我困惑的地方是 借书的关系 不知道收钱应该是怎么划分的
是直接先收押金 还是 每天自动扣除 或者 他换书的时候在一起结账
是否应该加一张表来 整理 账目
use master
go
if exists(select 1 from sysdatabases where name='HitchBooksMIS')
begin
drop database HitchBooksMIS
end
go
create database HitchBooksMIS
go
use HitchBooksMIS
go
-- 管理员表
create Table Administer
(
AID int primary key ,
Apwd nvarchar(10),
Aname nvarchar(6)
)-- 权限功能
create Table Powers
(
TID int primary key ,
Tname nvarchar(6)
)-- 管理员权限
create Table AdministerPower
(
AID int foreign key references Administer(AID),
TID int foreign key references Powers(TID)
)-- 会员类别表
create Table MemberType
(
TID int primary key identity(1,1) ,
Tname nvarchar(10),
TborrowDay int,
Tborrowmoney money,
Tamends money,
Tbooksum int
)
-- 会员表
create Table BooksUser
(
UID int primary key identity(1,1),
Uname nvarchar(6),
Upwd nvarchar(10),
Usex char(2),
Uphone int,
UmemberID int foreign key references MemberType(TID),
Uidentily int ,
UdamageBook int ,
UloseBook int
)-- 图书类别表
create Table BooksType
(
TID int primary key identity(1,1) ,
Tname nvarchar(30),
Tlocation nvarchar(30),
)-- 图书表
create Table Books
(
BID int primary key identity(1,1) ,
Bname nvarchar(30),
Babbreviation nvarchar(10),
Bauthor nvarchar(10),
Bpublisher nvarchar(22),
BimagePath nvarchar(200),
Bdate smalldatetime ,
Bsum int ,
BTypeID int foreign key references BooksType(TID),
Bhot int
)-- 借书表
create Table BorrowBooks
(
UID int foreign key references BooksUser(UID) ,
BID int foreign key references Books(BID),
BdisposeID int foreign key references Administer(AID),
Bborrowdate smalldatetime ,
Breturned smalldatetime ,
IsReturned int
)
比如 要哪几张表 哪几个字段
希望大家给点建议 不要实例代码 谢谢
下面的这是我写的 麻烦大家看看 看有什么地方不是很合理的
我困惑的地方是 借书的关系 不知道收钱应该是怎么划分的
是直接先收押金 还是 每天自动扣除 或者 他换书的时候在一起结账
是否应该加一张表来 整理 账目
use master
go
if exists(select 1 from sysdatabases where name='HitchBooksMIS')
begin
drop database HitchBooksMIS
end
go
create database HitchBooksMIS
go
use HitchBooksMIS
go
-- 管理员表
create Table Administer
(
AID int primary key ,
Apwd nvarchar(10),
Aname nvarchar(6)
)-- 权限功能
create Table Powers
(
TID int primary key ,
Tname nvarchar(6)
)-- 管理员权限
create Table AdministerPower
(
AID int foreign key references Administer(AID),
TID int foreign key references Powers(TID)
)-- 会员类别表
create Table MemberType
(
TID int primary key identity(1,1) ,
Tname nvarchar(10),
TborrowDay int,
Tborrowmoney money,
Tamends money,
Tbooksum int
)
-- 会员表
create Table BooksUser
(
UID int primary key identity(1,1),
Uname nvarchar(6),
Upwd nvarchar(10),
Usex char(2),
Uphone int,
UmemberID int foreign key references MemberType(TID),
Uidentily int ,
UdamageBook int ,
UloseBook int
)-- 图书类别表
create Table BooksType
(
TID int primary key identity(1,1) ,
Tname nvarchar(30),
Tlocation nvarchar(30),
)-- 图书表
create Table Books
(
BID int primary key identity(1,1) ,
Bname nvarchar(30),
Babbreviation nvarchar(10),
Bauthor nvarchar(10),
Bpublisher nvarchar(22),
BimagePath nvarchar(200),
Bdate smalldatetime ,
Bsum int ,
BTypeID int foreign key references BooksType(TID),
Bhot int
)-- 借书表
create Table BorrowBooks
(
UID int foreign key references BooksUser(UID) ,
BID int foreign key references Books(BID),
BdisposeID int foreign key references Administer(AID),
Bborrowdate smalldatetime ,
Breturned smalldatetime ,
IsReturned int
)
到51aspx.com里看看
go
if exists(select 1 from sysdatabases where name='HitchBooksMIS')
begin
drop database HitchBooksMIS
end
go
create database HitchBooksMIS
go
use HitchBooksMIS
go
-- 管理员表
create Table Administer
(
AID int primary key ,
Apwd nvarchar(10),
Aname nvarchar(6)
)-- 权限功能
create Table Powers
(
TID int primary key ,
Tname nvarchar(6)
)-- 管理员权限
create Table AdministerPower
(
AID int foreign key references Administer(AID),
TID int foreign key references Powers(TID)
)-- 会员类别表
create Table MemberType
(
TID int primary key identity(1,1) ,
Tname nvarchar(10),
TborrowDay int,
Tinterest money,
Tamends money,
TbookAmount int
)
-- 会员表
create Table BooksUser
(
UID int primary key identity(1,1),
Uname nvarchar(6),
Upwd nvarchar(10),
Usex char(2),
Uphone int,
UmemberID int foreign key references MemberType(TID),
Uidentily int ,
UdamageBook int ,
UloseBook int,
Ubalance money
)-- 图书类别表
create Table BooksType
(
TID int primary key identity(1,1) ,
Tname nvarchar(30),
Tlocation nvarchar(30),
)-- 图书表
create Table Books
(
BID int primary key identity(1,1) ,
Bname nvarchar(30),
Babbreviation nvarchar(10),
Bauthor nvarchar(10),
Bpublisher nvarchar(22),
BimagePath nvarchar(200),
Bdate smalldatetime ,
Bamount int ,
BTypeID int foreign key references BooksType(TID),
Bhot int
)
-- 借书状态
create Table ReturnedState
(
RID int primary key identity(1,1) ,
Rname nvarchar(10)
)-- 借书表
create Table BorrowBooks
(
Wateraccount int primary key identity(1,1) ,
UID int foreign key references BooksUser(UID) ,
BID int foreign key references Books(BID),
AID int foreign key references Administer(AID),
BborrowDate smalldatetime ,
BreturnedDate smalldatetime ,
BisReturnedState int foreign key references ReturnedState(RID)
)我的借书表 和 图书号 是主外键关系啊
不过引文发问题的时候太着急了 所以没怎么看数据库 后来发现有些地方写错了
不过我现在已经改了 不知道这样可以吗
存储 账目的表 不知道 应该有什么字段 借阅记录中设置押金字段,根据还书天和每天金额计算,是否足够
我看懂了 你是说 有三种收钱的方式对吧
第1种是 直接在表里价格字段 专门来负责押金
第2种是 当换书的时候在一起结算时吧
第3种 是 每天自动更新一次 对吧还有更好的建议吗?
应该再加一个VIP打折字段
根据天数来定义结账的款额,
如果超出规定的天数,在规定