经典案例 财务管理系统(5)
根据实例介绍 科目表 是系统的关键表 其他各表均与 科目表 通过 科目代码 字段进行多对一的关联 系统共需要 张表 用途分别如表 所示
创建数据库
打开SQL Server企业管理器 新建一个数据库 名称为caiwubook 利用配书光盘中的脚本代码 \Chap \建库脚本\ 财务管理系统实例程序 sql 文件创建数据库对象 完成数据库的设计 也可以利用 \Chap \建库脚本\caiwubook bak 文件直接恢复数据库 这样数据库中存在初始的科目信息和系统参数数据数据
后面几小节我们将列出几个重点的数据表的建库脚本 其他数据表的脚本请参考脚本文件
创建 科目表 数据表
创建 科目表 数据表的SQL脚本如下
CREATE TABLE [dbo] [ 科目表 ] (
[ 科目代码 ] [char] ( ) NOT NULL
[ 科目名称 ] [char] ( ) NULL
[ 助记码 ] [char] ( ) NULL
[ 科目类别 ] [char] ( ) NULL
[ 是否存货科目 ] [char] ( ) NULL
[ 余额方向 ] [char] ( ) NULL
[ 数量单位 ] [char] ( ) NULL
) ON [PRIMARY]
GO
创建 凭证表 和 分录表 数据表
创建 凭证表 数据表的SQL脚本如下
CREATE TABLE [dbo] [ 凭证表 ] (
[ 凭证编号 ] [char] ( ) NOT NULL
[ 会计期间 ] [int] NULL
[ 凭证字号 ] [char] ( ) NULL
[ 日期 ] [datetime] NULL
[ 附单据 ] [int] NULL
[ 制单 ] [char] ( ) NULL
[ 借方合计 ] [money] NULL
[ 贷方合计 ] [money] NULL
[ 过帐状态 ] [char] ( ) NULL
[ 凭证状态 ] [char] ( ) NULL
) ON [PRIMARY]
GO
创建 分录表 数据表的 SQL 脚本如下
CREATE TABLE [dbo] [ 分录表 ] (
[ 编号 ] [int] IDENTITY ( ) NOT NULL
[ 凭证编号 ] [char] ( ) NOT NULL
[ 摘要 ] [char] ( ) NULL
[ 科目代码 ] [char] ( ) NULL
[ 借方 ] [money] NULL
[ 贷方 ] [money] NULL
[ 数量 ] [int] NULL
[ 单价 ] [money] NULL
[ 结算方式 ] [char] ( ) NULL
[ 结算号 ] [int] NULL
[ 结算日期 ] [datetime] NULL
) ON [PRIMARY]
GO
创建其他关键数据表
以下是其他关键数据表的创建脚本 其他数据表可以参看配书光盘中的相关内容
CREATE TABLE [dbo] [ 科目余额表 ] (
[ 科目代码 ] [char] ( ) NULL
[ 期初借方余额 ] [money] NULL
[ 期初贷方余额 ] [money] NULL
[ 本期借方发生额 ] [money] NULL
[ 本期贷方发生额 ] [money] NULL
[ 本年借方累计发生额 ] [money] NULL
[ 本年贷方累计发生额 ] [money] NULL
[ 本期借方余额 ] [money] NULL
[ 本期贷方余额 ] [money] NULL
[ 最后结算分录 ] [int] NULL
[ 会计期间 ] [int] NULL
[ 余额方向 ] [char] ( ) NULL
[ 内部编号 ] [int] IDENTITY ( ) NOT NULL
) ON [PRIMARY]
GO
CREATE TABLE [dbo] [ 资产负债表 ] (
[ 会计期间 ] [int] NOT NULL
[ 现金及现金等价物 ] [money] NULL
[ 应收帐款 ] [money] NULL
[ 坏帐准备 ] [money] NULL
[ 应收帐款净值 ] [money] NULL
[ 流动资产总计 ] [money] NULL
[ 固定资产原值 ] [money] NULL
[ 累计折旧 ] [money] NULL
[ 固定资产总计 ] [money] NULL
[ 其他资产 ] [money] NULL
[ 资产总计 ] [money] NULL
[ 应付帐款 ] [money] NULL
[ 预收帐款 ] [money] NULL
[ 应付工资 ] [money] NULL
[ 其他负债 ] [money] NULL
[ 负债总计 ] [money] NULL
[ 实收资本 ] [money] NULL
[ 资本公积 ] [money] NULL
[ 赢余公积 ] [money] NULL
[ 未分配利润 ] [money] NULL
[ 所有者权益总计 ] [money] NULL
[ 负债及所有者权益总计 ] [money] NULL
) ON [PRIMARY]
GO
创建主键及外键等表约束
在查询分析器中通过如下代码创建数据表的主键及外键等表约束
主键 外键关联字段
ALTER TABLE [dbo] [ 科目表 ] WITH NOCHECK ADD
PRIMARY KEY CLUSTERED
(
[ 科目代码 ]
) ON [PRIMARY]
GO
ALTER TABLE [dbo] [ 凭证表 ] WITH NOCHECK ADD
CONSTRAINT [PK_ 凭证表 ] PRIMARY KEY CLUSTERED
(
[ 凭证编号 ]
) ON [PRIMARY]
GO
ALTER TABLE [dbo] [ 分录表 ] WITH NOCHECK ADD
CONSTRAINT [PK_ 分录表 ] PRIMARY KEY CLUSTERED
(
[ 编号 ]
) ON [PRIMARY]
GO
ALTER TABLE [dbo] [ 帐簿初始化表 ] WITH NOCHECK ADD
PRIMARY KEY CLUSTERED
(
[ 科目代码 ]
) ON [PRIMARY]
GO
ALTER TABLE [dbo] [ 本期汇总帐簿 ] WITH NOCHECK ADD
CONSTRAINT [PK_ 本期汇总帐簿 ] PRIMARY KEY CLUSTERED
(
[ 科目代码 ]
) ON [PRIMARY]
GO
ALTER TABLE [dbo] [ 分录表 ] ADD
CONSTRAINT [FK_ 分录表 _ 凭证表 ] FOREIGN KEY
(
[ 凭证编号 ]
) REFERENCES [dbo] [ 凭证表 ] (
[ 凭证编号 ]
)
CONSTRAINT [ 分录表 _ 科目代码 _fk] FOREIGN KEY
(
[ 科目代码 ]
) REFERENCES [dbo] [ 科目表 ] (
[ 科目代码 ]
)
GO
其他外键 主键等约束参看配书光盘脚本
lishixinzhi/Article/program/Delphi/201311/24743