【SQL开源代码栏目提醒】:网学会员为广大网友收集整理了,数据字典.sql,希望对大家有所帮助!
%% 以下SQL语句是采用SYBASE ASA 5.5的语法标准来写的
%% 适合创建的环境是SYBASE ASA 5.5或以上版本
%% 若需要移植到其他数据库平台时需要做改造
%% 本批处理语句只是作为文章<<数据项的动态管制方法与实现>>的演示时使用
%% 并不能能够反映实体的全部被关心属性.
%% 曾勇进
%% 2002/07/26
%% -------------------------------------------------------------------
%% 外销合同描述 CONTRACT
%% -------------------------------------------------------------------
drop table contract;
create table contract(
contractno varchar(16) not null , %% 外销合同号
signday date , %% 与客户签订日期
signor varchar(20) , %% 签订人员
signedat varchar(40) , %% 签订地点
pricetype varchar(10) , %% 价格条款
auditflag char(1) default '0', %% 本外销合同是否被审核
primary key(contractno) %% '0':代表未被审核,系统不管制
%% '1':代表已被审核,
系统将实行管制
);
comment on table contract is '外销合同表';
%% -------------------------------------------------------------------
%% 外销合同明细 contract_details
%% 下表contract_details是contract的子表
%% -------------------------------------------------------------------
drop table contract_details;
create table contract_details(
contractno varchar(16) not null , %% 外销合同号
itemno varchar(30) not null , %% 货物编码
price decimal(8,2) , %% 签订价格
quantity integer , %% 客户购买数量
note varchar(60) , %% 备注
primary key(contractno,itemno) ,
foreign key(contractno) references contract(contractno) on delete cascade on update cascade
);
comment on table contract_details is '外销合同明细,它是CONTRACT的子表';
comment on foreign key contract_details.contract is '保证父子表之间的参照完整性';
%% -------------------------------------------------------------------
%% 管制对象表 audit_tables
%% -------------------------------------------------------------------
drop table audit_tables;
create table audit_tables(
at_id varchar(4) not null, %% 内部标识
at_datawindowobject varchar(40) not null, %% 将要审核的数据窗口对象
at_datawindowcname varchar(40) , %% 即将要审核的数据对象的中文名称
at_auditflag char(1) not null, %% 用来控制是否审核
at_relation varchar(4) , %% 用来记录被审核表之间的关系,一般是父子表关系
at_relationtype char(1) , %% 关系类型
at_remark varchar(40) , %% 备注
primary key(at_id)
);
comment on table audit_tables is '管制对象表';
%% -------------------------------------------------------------------
%% 管制内容表audit_tables_details
%% 下表是上表audit_tables的子表
%% -------------------------------------------------------------------
drop table audit_tables_details;
create table audit_tables_details(
at_id varchar(4) not null, %% 内部标识
atd_dwobject varchar(40) not null, %% 将要管制的字段
atd_dwobjectname varchar(40) , %% 将要管制字段的中文名称
atd_tabsequence integer , %% taborder的值
atd_type char(1) not null, %% '1':表示审核,'2':表示已经出货
atd_visible char(1) , %% 是否显示或者只读
atd_color decimal(10) , %% 被管制后使用指定的颜色来表明
primary key(at_id,atd_dwobject,atd_type) ,
foreign key(at_id) references audit_tables(at_id) on delete cas
cade on update cascade
);
comment on table audit_tables_details is '管制内容表,它是audit_tables的子表';
comment on foreign key audit_tables_details.audit_tables is '保证父子表之间的参照完整性';
%% 以下语句是导入演示数据
%% (1) 导入到外销合同描述表中
insert into contract values('001','2002-07-26','曾勇进','厦门','FOB','0');
%% 上输合同尚未被审核
insert into contract values('002','2002-07-27','
软件编程与维护','厦门','CNF','1');
%% 上输合同已经被审核
%% (2) 导入到外销合同明细中
insert into contract_details values('001','BM9801',9.6,2000,'')
insert into contract_details values('001','BM9802',2.2,1000,'')
insert into contract_details values('001','BM9803',3.4,4000,'')
insert into contract_details values('001','BM9804',1.2,1500,'')
insert into contract_details values('001','BM9805',12.7,500,'')
insert into contract_details values('002','BJ9811',1.1,700,'')
insert into contract_details values('002','BJ9812',0.8,1300,'')
insert into contract_details values('002','BJ9813',4.6,1400,'')
insert into contract_details values('002','BJ9814',1.8,1500,'')
insert into contract_details values('002',