
数据库表ERP表作为参考资料。
5星
- 浏览量: 0
- 大小:None
- 文件类型:SQL
简介:
-- 首先,创建一个名为视图的数据库对象。
-- 如果该名称的视图对象已经存在,则将其删除。
-- 随后,建立一个新的视图。
-- 执行以下 SQL 语句:
-- create view 视图名
-- as
-- select 字段名 from 表名 [条件]
该主外健约束语句尚未得到执行。
利用 T90ERP 系统。
本资源聚焦于人力资源领域,旨在提供一系列实用信息和方法。它详细阐述了人力资源管理的各个方面,涵盖了招聘、培训、绩效评估、薪酬福利以及员工关系等关键环节。通过深入了解这些内容,使用者能够更好地优化人力资源策略,提升团队效率,并最终促进组织的整体发展与成功。该材料将帮助相关人员掌握最新的行业动态和最佳实践,从而在竞争激烈的市场环境中取得优势。
如果存在名为 Depet 的对象,则将其删除。
继续执行以下操作:创建一个名为 Depet 的表。
该表包含以下列:dept_id(部门编号,主键,自增整数,范围从 1 开始递增),dept_name(部门名称,字符串类型,不能为空)。
-- 约束:添加唯一约束,确保部门名称的唯一性。
如果存在名为Post的对象,则将其删除。
接下来,创建一个名为Post的表。
该表包含以下列:职位编号(主键,自增)、职位名称(唯一)、职位工资、以及部门编号(外键,级联删除)。
表约束包括职位名称的唯一性约束,以及与部门表之间的外键约束。
如果存在名为 Employee 的系统对象,则删除它。
接下来,创建一个名为 Employee 的表,包含以下字段:
Employee_ID,作为主键并采用自增方式,从 1 开始递增;
Employee_Number,作为唯一标识符,存储员工工号;
Emp_PostId,作为外键关联到 Post 表,实现级联删除功能;
Emp_Hire,记录员工的录用时间;
Emp_State,表示员工状态,默认值为 1(表示在职),0 表示离职。
此外,定义了唯一约束 UQ_emp_number 确保 Employee_Number 的唯一性;建立了外键约束 FK_emp_postId 用于关联 Employee 表和 Post 表;并设置了默认约束 DF_emp_state 为 1 作为 Employee 表 Emp_State 字段的默认值。
如果存在名为 Resume 的对象,则将其删除。
go
创建 Resume 表:
(
Res_id Int primary key identity(1,1) not null -- 职员信息ID,主键,非空自增的整数类型
Emp_id Int not null -- 职员ID,外键
Res_name Varchar(50) not null -- 真实姓名,不能为空字符串类型(最大长度50)
Res_englishname Varchar(50) null -- 英文名,允许为空字符串类型(最大长度50)
Res_idcard Varchar(19) not null -- 身份证号,不能为空字符串类型(最大长度19),唯一索引
Res_sex bit not null -- 性别,不能为空位类型(0代表女,1代表男)
Res_bornDate datetime not null -- 出生年月
Res_nativeplace varchar(50) not null -- 籍贯,不能为空字符串类型(最大长度50)
Res_nation Varchar(50) not null -- 民族,不能为空字符串类型(默认汉族),最大长度50
Res_health text null -- 健康状况,允许为空文本类型
Res_diploma Varchar(50) not null -- 学历,不能为空字符串类型(最大长度50)
Res_address Varchar(50) null -- 联系地址,允许为空字符串类型(最大长度50),默认地址不详
Res_Tel Varchar(50) not null -- 电话号码,不能为空字符串类型(最大长度50),只能包含11位数字
Res_photo image null -- 照片,允许为空图像类型
)
----约束定义:
alter table Resume add constraint FK_res_empid foreign key (Emp_id) references Employee(emp_id); -- 添加外键约束:Resume.Emp_id 关联 Employee.emp_id。
--alter table Resume add constraint UQ_res_idcard unique (res_idcard); -- 添加唯一索引约束:确保身份证号的唯一性。
--alter table Resume add constraint CK_res_idcard check (res_idcard like [1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9] or res_idcard like [1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9][1-9]X); -- 添加检查约束:身份证号格式验证。
--alter table Resume add constraint DF_res_sex default (1) for res_sex; -- 设置默认值:res\_sex 的默认值为 1 (男)。
--alter table Resume add constraint CK_res\_sex check (res\_sex=1 or res\_sex=0); -- 添加检查约束:res\_sex 的取值范围只能是 0 或 1。
--alter table Resume add constraint DF\_res\_nation default (汉族) for res\_nation; -- 设置默认值:res\_nation 的默认值为 汉族。
--alter table Resume add constraint DF\_res\_health default (健康) for res\_health; -- 设置默认值:res\_health 的默认值为 健康。
--alter table Resume add constraint DF\_res\_health defatult(null) for res\_health; --设置default value 为null.
--alter table Resume add constraint DF\_res\_address default (地址不详) for res\_address; -- 设置默认值:res\_address 的默认值为 地址不详。
--alter table Resume add constraint CK\_res\_tel check (len(res\_tel)=11); -- 添加检查约束:电话号码的长度必须为 11 位。
go
该考勤类型表,命名为CheckType,首先检查是否存在同名对象。如果存在,则删除该对象。随后,创建一个名为CheckType的表,包含以下字段:Checkt_id作为主键,采用自增方式实现唯一标识,类型为整数;Checkt_name用于存储考勤的名称或描述,类型为变长字符串,最大长度为50个字符。
如果存在名为 CheckInfo 的对象,则将其删除。
随后创建一个名为 CheckInfo 的表,包含以下字段:
Check_id,作为考勤ID的主键,并使用自增方式自动递增(从 1 开始,每次递增 1);
Emp_id,表示员工ID的外键;
Check_hire,记录考勤开始时间的日期时间值;
Check_end,记录考勤结束时间的日期时间值,必须确保结束时间在开始时间之前;
Checkt_id,表示考勤类型的外键;
Check_gtime,记录工休天数的整数值;
check_time,记录扣薪天数的整数值。
表 CheckInfo 包含以下约束:
一个外键约束,将 CheckInfo 表中的 Emp_id 列与 Employee 表中的 emp_id 列关联起来;
另一个外键约束,将 CheckInfo 表中的 Checkt_id 列与 checkt 表中的 checkt_id 列关联起来。
此外, 还存在一些检查约束,用于验证 Check_hire 和 Check_end 字段的值是否符合要求, 即确保考勤开始时间在考勤结束时间之前,并且考勤结束时间大于等于考勤开始时间. 这些约束已被注释掉.
该数据库表“Train”用于记录培训信息。首先,如果已存在名为“Train”的系统对象,则将其删除。随后,创建一个名为“Train”的表,包含以下字段:培训编号(Train_id),主键且自增;培训日期(Train_time);培训地址(Train_address);培训内容(Train_content);职员编号(Emp_id);以及讲师姓名(Train_teacher)。表结构如下:
(
Train_id int primary key identity(1,1) not null, --培训编号 主键 自增 Int
Train_time datetime not null, --培训日期 Datetime
Train_address varchar(200) not null, --地址 Varchar(200)
Train_content text not null, --内容 text
Emp_id int not null, --职员编号 Int
Train_teacher varchar(20) not null --讲师 Varchar(20)
)
奖罚记录类型定义为 PrizeAmerceType。
如果 PrizeAmerceType 已经存在于系统对象中,则删除该表。
随后创建一个名为 PrizeAmerceType 的表,包含以下字段:
Prizet_id,作为奖罚记录类型id,为主键并设置为自增整数类型,初始值为1,递增1;
Prizet_name,用于存储奖罚记录的名称,数据类型为 varchar(50),不能为空;
Prizet_money,用于存储奖罚金额,数据类型为 money 类型,不能为空。
奖罚记录表:PrizeAmerceRecord
如果存在名为 PrizeAmerceRecord 的系统对象,则将其删除。
随后创建一个名为 PrizeAmerceRecord 的表,包含以下字段:
Prize_id:奖罚记录id,主键,自增整数,范围从 1 开始,递增 1。
Emp_id:员工id,外键,整数类型。
Prize_time:时间,日期时间类型。
Prizet_id:引用奖罚类型id,外键,整数类型。
Prize_desc:描述,文本类型,允许为空,默认值为“没有描述”。
----约束定义(已注释)
--alter table PrizeAmerceRecord add constraint FK_prize_empid foreign key(prize_empId) references Employee(emp_id)
--alter table PrizeAmerceRecord add constraint FK_prize_prizetid foreign key(prize_prizetId) references PrizeAmerceType(prizet_id)
alter table PrizeAmerceRecord add constraint DF_prize_desc default(没有描述) for prize_desc
go
该资源包含一个名为“Record”的档案表的设计。如果“Record”表已存在,则将其删除。然后创建一个新的“Record”表,包含以下字段:
* Re\_id:档案ID,主键,自增整数,范围从1开始递增。(Int, primary key, identity(1,1), not null)
* Re\_code:档案代码,字符串类型,不能为空。该代码由日期与随机数组合生成。(Varchar(50), not null)
* Emp\_id:员工ID,外键,关联到“Employee”表。(Int, not null, foreign key references Employee(emp_id))
* Prize\_id:奖罚记录ID,外键,关联到“Prize”表。(Int, not null, foreign key references Prize(prize_id))
此外,还定义了外键约束,用于确保“Record”表中的员工ID与“Employee”表中对应的员工ID一致。
SalaryInfo 表:
如果 SalaryInfo 表已经存在,则将其删除。
随后创建一个名为 SalaryInfo 的表,包含以下字段:
Sal_id:薪水表ID,主键,自增整数,范围从 1 开始递增。
Emp_id:职员ID,外键,整数类型。
Sal_bonus:奖金金额,货币类型。
Sal_deduct:扣除金额,数值类型(总长度为 18 位数字,其中小数点后 2 位)。
Sal_tax:扣税金额,货币类型。默认值为 0。
Sal_sum:总薪水金额,货币类型。
Sal_date:发放日期,小日期时间类型。
此外,定义了一个外键约束来关联 SalaryInfo 表与 Employee 表的 Emp_id 字段。
--***********采购管理
本系统旨在优化和提升企业的采购流程,通过精细化的管理手段,有效降低运营成本,并确保供应链的稳定性和可靠性。其核心功能涵盖了需求分析、供应商评估、合同管理、订单处理以及采购绩效监控等多个环节。 采用先进的技术方案,系统能够实现对采购数据的实时追踪和分析,从而为决策者提供更加准确的数据支持。 此外,该系统还具备强大的自动化能力,能够大幅度减少人工干预,提高采购效率。 最终目标是建立一个高效、透明、可控的采购体系,助力企业实现可持续发展。
在供应商管理层面,我们引入了LevelInfo表。如果该表已经存在,则将其删除;然后重新创建该表。创建的LevelInfo表包含两个字段:Level_id,作为级别编号,采用自增方式实现,类型为整数;Level_name,用于存储级别名称,类型为可变长度字符串,最大长度为10个字符。
该数据库表“Victualer”用于存储供应商信息。如果存在同名对象,则将其删除;如果不存在,则创建一个新的表。
表结构如下:
Victu_id:供应商编号,主键,自增整数类型,范围从1开始递增。
Victu_name:供应商名称,字符串类型,长度不超过100个字符,不能为空。
Level_id:级别编号,外键关联到“LevelInfo”表中的“Level_id”字段,确保数据一致性。
Victu_people:联系人姓名,字符串类型,长度不超过20个字符,不能为空。
Victu_telephone:联系电话号码,字符串类型,长度必须为11位数字。
Victu_email:电子邮件地址,字符串类型,允许为空;必须符合电子邮件的格式规范。
Victu_address:联系地址,文本类型;默认情况下未提供具体的地址信息。
Victu_remark:备注信息,文本类型;默认为“没有描述”,允许为空。
此外,该表还包含以下约束条件和默认值:
外键约束(FK_Victu_levelId):确保“Victualer”表中“Victu_levelId”字段的值与“LevelInfo”表中“Level_id”字段的值保持一致。
检查约束(CK_Victu_telephone):验证“Victu_telephone”字段的值是否为11位数字;如果不是则不允许插入或更新数据。
检查约束(CK_Victu_email):验证“Victu_email”字段的值是否符合电子邮件的格式规范;如果不符合则不允许插入或更新数据。
默认约束(DF_Victu_remark):当“victu_remark”字段未被明确赋值时,其默认值为“没有描述”。
默认约束(DF_Victu_address):当“victu_address”字段未被明确赋值时, 其默认值为 “地址不详”。
go
该商品类别系统采用“Sort”命名方式。
若“Sort”表已存在,则先删除该表;否则,创建名为“Sort”的表。
表结构如下:
(Sort_id int primary key identity(1,1) not null, --类别编号,主键,自增整数类型
Sort_name varchar(50) not null --类别名称,字符型变量,最大长度50)
该商品规格表,命名为“Spec”,首先检查是否存在同名对象。如果存在,则删除该对象;否则,创建一个新的表。新表包含以下字段:规格编号(Spec_id),这是一个自增的整数类型,作为主键;规格名称(Spec_name),是一个长度为50的字符串类型,不能为空。
该“产品表”命名为Product。
如果存在名为Product的系统对象,则将其删除。
随后创建一个名为Product的表,包含以下字段:
Product.Pro_id:商品编号,主键,自增整数类型,范围从1开始递增,值为非空。
Product.Pro_code:商品代码,采用日期与随机数组合生成,保证唯一性,数据类型为Varchar(20)。
Product.Pro_name:商品名称,数据类型为Varchar(50),且必须提供。
Product.Sort_id:类别编号,作为外键关联到Sort表中的记录,数据类型为Int,必须提供。
Product.Spec_id:规格编号,作为外键关联到Spec表中的记录,数据类型为Int,必须提供。
Product.Pro_count:商品数量,数据类型为Int,必须提供。
Product.Pro_inPrice:进货价,货币类型Money,必须提供。
Product.Pro_outPrice:销售价,货币类型Money,必须提供。
Product.Victu_id:供应商编号,作为外键关联到Victualer表中的记录,数据类型为Int,必须提供。级联删除功能实现。
Product.Pro_remark:备注信息,允许为空值(null),默认情况下没有备注说明。
----表约束定义----
请求报价单:AskPrice
如果 AskPrice 表存在,则删除该表
创建 AskPrice 表
(
Ask_id int 主键 identity(1,1) not null --询价单编号,主键,自增整数
, Victu_id int not null --供应商编号,外键,关联 Victualer 表的 ID 整数
, Pro_id int not null --商品编号,外键,关联 Product 表的 ID 整数
, ask_price money not null --报价金额,货币类型
, Ask_time datetime not null --添加时间,日期时间类型
)
----约束
go
The system utilizes a table named ‘BuyBill’ for managing purchase orders.
If a table named ‘BuyBill’ already exists, it will be dropped. Subsequently, a new table is created with the following structure:
It contains the following columns: ‘Buybill_id’, which is an integer and serves as the primary key with an identity column that automatically increments starting from 1; ‘Buybill_num’, a string of up to 20 characters, representing the purchase order number and generated uniquely by combining the date with a random number; ‘Emp_id’, an integer referencing the employee ID from an employee table; ‘Buybill_time’, a datetime value indicating the procurement date, ensuring it precedes the delivery date; ‘Buybill_delitime’, a datetime value representing the scheduled delivery date; ‘Buybill_remark’, a text field for recording contract notes or remarks; and ‘Buybill_Isexam’, a bit field indicating whether the warehouse manager has approved the purchase order.
Furthermore, constraints are defined to maintain data integrity within this table.
The “BuyList” table is defined as follows:
If a table named “BuyList” already exists, it will be dropped. Subsequently, a new table named “BuyList” is created with the following structure:
(Buylist_id INT PRIMARY KEY IDENTITY(1,1) NOT NULL, -- Procurement detail number, primary key, auto-incrementing integer
Buybill_id INT NOT NULL, -- Purchase order number, foreign key referencing the “Buybill” table (integer)
Pro_id INT NOT NULL, -- Product number, foreign key referencing the “Prduct” table (integer)
Buylist_Count INT NOT NULL, -- Purchase quantity (integer)
Buylist_price MONEY NOT NULL, -- Purchase price (monetary value)
Victu_id INT NOT NULL, -- Supplier number, foreign key referencing the “Vitcualer” table (integer)
Dsub_id INT NOT NULL) -- Purchase order item warehouse number, foreign key referencing the “DepotSubarea” table (integer)
---- Constraints
GO
该数据库表结构定义了“PayBill”表,用于记录付款单据的信息。
首先,如果“PayBill”表已存在,则将其删除。随后,创建一个名为“PayBill”的表,包含以下字段:
* `Pay_id`:付款单编号,主键,自增整数类型,从1开始递增。
* `Buybill_id`:采购单编号,外键关联到“Buybill”表。
* `Pay_oncoming`:此次付款金额(如果应付款分为多次支付),采用货币数据类型。
* `Pay_deal`:应付款总金额,保持与“Pay_oncoming”一致,同样采用货币数据类型。
* `Emp_id`:财务部审批人编号,外键关联到“职员”表。
* `Pay_Isexam`:财务部是否审批的标志位(bit类型)。
* `Pay_remark`:付款单据的备注信息,允许为空(null值),默认情况下没有备注说明。
此外,还定义了相关的约束条件来保证数据的完整性。
采购退货单:MoveBill
如果存在名为MoveBill的系统对象,则将其删除。
随后创建一个名为MoveBill的表,包含以下字段:
Move_id:退货单编号,主键,自增整数类型,范围从1开始递增。
Buybill_id:采购单编号,外键关联Buybill表,数据类型为整数。
Move_time:退单日期,必须是采购日期的后续时间,数据类型为datetime。
Dsub_id:库管审批人编号,外键关联其他表,数据类型为整数。
Move_Isexam:库管是否审批状态,位类型,表示是否已通过审批。
Move_remark:备注信息,允许为空,默认情况下没有备注说明,数据类型为文本。
----约束
仓库管理系统旨在优化库存控制流程,提升运营效率。该系统通过实时追踪商品信息,包括数量、位置和状态,从而实现对整个供应链的全面监控。 核心功能涵盖了采购、存储、分配和报表生成等环节,旨在减少库存积压,降低仓储成本,并确保商品及时供应。 此外,系统还支持多种仓库布局方案的设计与优化,以最大化空间利用率和物流效率。 通过实施先进的仓库管理策略,企业可以显著提高运营效益并增强市场竞争力。
若存在名为 DepotSubarea 的系统对象,则将其删除。随后,创建一个名为 DepotSubarea 的表,该表包含以下字段:库区 ID(主键,自增整数),库区名称(字符串,长度不超过 10),以及仓库类别(字符串,长度不超过 10)。
若存在名为 Transfer 的系统对象,则将其删除。随后,创建一个名为 Transfer 的表,该表包含以下字段:Tran_id 作为主键,采用自增方式,初始值为 1,递增值为 1;Tran_name 则是一个非空字符型字段,最大长度为 20 个字符。
该数据库表“PutInfo”用于记录入库的详细信息。如果数据库中存在名为“PutInfo”的对象,则将其删除。随后,创建一个名为“PutInfo”的表,包含以下字段:
* `Put_id`:入库明细ID,主键,自增整数类型,初始值为1,递增1。
* `Put_code`:入库单代码,非空字符串类型,用于标识特定的入库单据,通常采用日期与随机数组合生成。
* `Buybill_id`:采购单编号,外键关联到采购单表,确保数据完整性并支持级联删除。
* `Put_time`:入库时间,非空日期时间类型,记录实际的入库时间。
* `Put_people`:入库人,非空字符串类型,标识执行入库操作的人员。
* `Dsub_id`:库区ID,外键关联到库区表,用于指定入库的具体位置或区域。支持级联删除操作。
* `Tran_id`:移动类型ID, 外键关联到移动类型表, 标识本次入库的移动类型.
表结构定义如下:
```sql
create table PutInfo
(
Put_id Int primary key identity(1,1) not null, --入库明细id 主键 自增
Put_code Varchar(20) not null, --入库单代码 日期+随即数生成
Buybill_id Int not null, --采购单编号 外键
Put_time Datetime not null, --入库时间
Put_people Varchar(20) not null, --入库人
Dsub_id Int not null, --库区 外键 级联删除
Tran_id Int not null --移动类型 外键
)
----约束
```
若存在名为Stock的对象,则将其删除。随后,创建一个名为Stock的表,包含以下字段:Stock_id(库存编号,主键,自增整数),Dsub_id(库区ID,外键),Pro_id(商品ID,外键),以及Stock_number(商品数量,整数)。表结构如下:
(Stock_id Int primary key identity(1,1) not null, --库存编号 主键 自增
Dsub_id Int not null, --库区id 外键
Pro_id Int not null, --商品id 外键
Stock_number Int not null ㊣ --商品数量 )
----约束
OutInfo表:用于记录出库信息的详细清单。
如果该表已存在(通过检查系统对象),则将其删除。
随后,创建一个名为OutInfo的表,包含以下字段:
Out_id,作为出库明细ID的主键,采用自增方式进行初始化,初始值为1,步长为1;
Out_code,用于标识出库单据的唯一编码,类型为字符型变量,长度为20个字符,且不能为空;
Out_time,记录出库发生的具体时间,数据类型为日期时间型,不能为空;
Out_llr,表示执行出库操作的领料人姓名或标识符,类型为字符型变量,长度为20个字符,不能为空;
Out_flr,表示执行出库操作的发料人姓名或标识符, 类型为字符型变量, 长度为20个字符, 不能为空;
Out_tranId, 用于指定移动类型的ID, 数据类型为整数, 不能为空;
Out_dsubId, 表示出库所处的库区ID, 数据类型为整数, 不能为空.
----定义约束条件
go
RepairDepot仓储管理系统:RepairDepot
如果 RepairDepot 对象已经存在,则将其删除。
随后创建一个名为 RepairDepot 的表,用于记录补仓信息。
该表包含以下字段:
Repa_id:补仓ID,作为主键并自动递增,值为整数。
Pro_id:商品ID,作为外键关联到商品表。
Repa_number:补仓数量,表示需要补充的商品数量,为整数类型。
Repa_dsubId:库区表ID,作为外键关联到库区管理表。
Repa_remark:备注信息,用于记录补仓的相关说明,允许为空。
----约束
--***********销售管理
--客户级别表(CustLevel)
如果存在名为CustLevel的对象,则将其删除。
随后创建一个名为CustLevel的表,该表包含以下列:
Cl_id:一个整数类型的编号,作为主键并自增,其初始值为1,递增1。
Cl_name:一个长度不超过10个字符的字符串类型的级别名称,不能为空。
Cl_discount:一个浮点数类型的折扣值,不能为空。
--约束
go
如果存在名为 customer 的系统对象,则将其删除。
随后,创建一个名为 customer 的表,包含以下字段:
C_id:整数,作为主键,并自动递增从 1 开始。
C_number:字符串类型,长度为 10,不能为空,用于标识客户代号。
C_name:字符串类型,长度为 20,不能为空,存储客户的名称。
C_linkman:字符串类型,长度为 20,不能为空,记录客户的主要联系人姓名。
C_phone:字符串类型,长度为 11,不能为空,用于存储客户的联系电话号码。
C_address:文本类型,允许为空(null),用于记录公司的详细地址;若地址为空则默认为“不详”。
Cl_id:整数类型,不能为空,用于存储级别编号外键.
C_remark:文本类型,允许为空(null),用于存储客户的备注信息;默认情况下没有备注信息.
如果存在名为 orders 的系统对象,则将其删除。
随后,创建一个名为 orders 的表,包含以下字段:
O_id:一个整数类型的唯一标识符,作为主键,自增,且不能为空。
O_number:一个长度为 20 的字符串类型的字段,表示订单代码,该代码由日期与随机数组合生成,且不能为空。
O_timestart:一个日期和时间的类型字段,表示下单日期和时间;下单时间必须在交货时间之前。
O_timestop:一个日期和时间的类型字段,表示交货日期。
O_money:一个货币类型的字段,表示下单金额,不能为空。
C_id:一个整数类型的字段,表示客户编号;该字段是外键级联删除。
Emp_id:一个整数类型的字段,表示员工编号;该字段也是外键级联删除。
约束条件定义如下(go 语句隐含在此处)。
订单明细表(OrderDetails)
如果存在名为OrderDetails的系统对象,则将其删除。
然后创建一个名为OrderDetails的表,包含以下字段:
Od_id Int,作为主键并自增,值为1开始,每次递增1,且不能为空。 --编号 主,自增
O_id int,作为外键,不能为空。 --订单编号 外
Pro_id int,作为外键,不能为空。 --商品编号 外
Od_price Money, 不能为空。 --单件金额
Od_accounts Int, 不能为空。 --单件数量
如果存在名为 Sells 的系统对象,则将其删除。
随后,创建一个名为 Sells 的表,包含以下字段:
Sell_id:一个整数类型的字段,作为主键,自增递增,起始值为 1,步长为 1。
O_id:一个整数类型的字段,作为外键关联到订单表。
Sell_timestart:一个日期时间类型的字段,表示销售的起始时间(即订单的时间)。
Sell_timestop:一个日期时间类型的字段,表示销售的结束时间(即交货时间)。
Sell_money:一个货币类型的字段,存储销售金额。
C_id:一个整数类型的字段,作为外键关联到客户表。
Emp_id:一个整数类型的字段,作为外键关联到员工表。
Sell_remark:一个文本类型的字段,用于存储销售备注信息;允许为空值。
该表定义了销售单的基本结构和数据类型规范。 它包含了订单编号、销售日期、交货日期、销售金额以及客户和员工信息等关键属性。 此外还设置了主键约束和外键约束来保证数据的完整性与关联性.
销售单明细表(SellDetails)
如果存在名为SellDetails的系统对象,则将其删除。
随后创建一个名为SellDetails的表,包含以下字段:
Selld_id 整数,作为主键并自增,值为1开始,每次递增1,且不能为空。
O_id 整数,不能为空。表示订单编号。
Pro_id 整数,不能为空。表示商品编号。
Selld_price 金钱类型,不能为空。表示单件商品的价格。
Selld_accounts 整数,不能为空。表示单件商品的数量。
--约束
go
财务管理涉及对组织内部资金流向的全面监控和优化,旨在确保资金的合理利用、风险的有效控制以及组织的整体财务健康。它涵盖了预算编制、会计核算、成本控制、投资决策等多个方面,并通过建立健全的财务制度和流程,提升财务管理的效率和透明度。此外,有效的财务管理能够为企业提供可靠的财务信息,支持管理者进行科学决策,从而促进企业的可持续发展。
该数据库表,名为 FinaSub,用于管理财务科目信息。如果该表已存在,则将其删除。然后重新创建该表,包含以下字段:
Fina_id:一个整数类型的字段,作为主键并自增,从1开始递增。它标识了每个科目的唯一编号。
Fina_name:一个长度为50个字符的字符串类型的字段,用于存储科目的名称。
Fina_accounts:一个长度为50个字符的字符串类型的字段,用于存储与该科目相关的银行账号或随机数。
Fina_people:一个长度为50个字符的字符串类型的字段,记录与该科目关联的联系人姓名。
Fina_telephone:一个长度为11个字符的字符串类型的字段,用于存储联系人的电话号码。
Fina_mode:一个长度为10个字符的字符串类型的字段,指示该科目是借记还是贷记。
Fina_play:一个长度为10个字符的字符串类型的字段,描述借贷的具体方式(例如“现金”或“发票”)。
Fian_money:一个货币类型的字段,用于存储与该科目相关的金额值。
该发票信息表,命名为Invoice,将进行重建。
如果已存在名为Invoice的系统对象,则将其删除。
随后,将创建一个名为Invoice的表,包含以下字段:
Invo_id:这是一个整数类型的字段,作为主键并启用自增功能,初始值为1,递增1。它标识发票的唯一编号。
Invo_code:这是一个字符型字段,长度为50,用于存储发票单据号。该单据号由日期与随机数组合生成,以确保其唯一性。
Invo_type:这是一个字符型字段,长度为10,用于指定发票类型。
Invo_money:这是一个货币类型字段,表示发票金额。
Invo_use:这是一个字符型字段,长度为50,用于描述发票用途。
Invo_datetime:这是一个日期时间类型字段,记录发票的创建或生效日期和时间。
Emp_id:这是一个整数类型字段,作为外键关联到职员表(Emp),标识财务员的编号。
此外还定义了相关的约束条件。
该数据库表“FixedAssets”将被删除,并重新创建。
首先,执行以下SQL语句以删除名为“FixedAssets”的表:
```sql
if exists(select * from sysobjects where name=FixedAssets)
drop table FixedAssets
```
然后,创建一个名为“FixedAssets”的表,包含以下字段:
* `Fix_id`:资产编号,整数类型,主键,自增。
* `Fix_name`:资产名称,字符型变量,长度为100,不能为空。
* `Fix_money`:可汇兑金额,货币类型,不能为空。
* `Fix_datetime`:添加时间,日期时间类型,不能为空。
* `Fix_remark`:备注信息,文本类型,允许为空(默认没有备注)。
表结构定义如下:
```sql
create table FixedAssets
(
Fix_id Int primary key identity(1,1) not null, --资产编号 主,自增
Fix_name Varchar(100) not null, --资产名称
Fix_money Money not null, --可汇兑金额
Fix_datetime Datetime not null, --添加时间
Fix_remark Text null, --备注 空,默认没有备注
)
```
最后使用 `go` 命令结束。
财务员负责对财务数据进行统计分析,从而生成清晰易懂的财务视图,为管理层提供重要的决策支持。
权限管理系统是构建安全可靠应用的关键组成部分。它负责对用户、资源以及访问权限进行精细化的控制和分配,从而确保只有经过授权的用户才能访问特定的数据和功能。通过实施完善的权限管理策略,可以有效防止未经授权的访问行为,降低系统面临的安全风险。此外,这种管理机制还能提升系统的整体安全性,并为用户提供更加安全便捷的使用体验。
该“用户表”命名为UserInfo。
如果已存在名为UserInfo的系统对象,则将其删除。
随后,创建一个名为UserInfo的表,包含以下字段:
u_id:用户编号,作为主键且自增,不为空,类型为int。其起始值和递增值均为1。
u_name:用户名,即登录名,不能为空,类型为varchar(20)。
u_pass:登录密码,不能为空,类型为varchar(10)。
u_time:登录时间,不能为空,类型为datetime。
-- 示例插入语句(已注释掉):
-- insert into UserInfo values(‘admin’, ‘admin’, ‘2008-08-05’);
-- insert into UserInfo values(‘yqh’, ‘yqh’, ‘2008-08-05’);
-- insert into UserInfo values(‘gogo’, ‘gogo’, ‘2008-08-05’);
-- insert into UserInfo values(‘wangwang’, ‘wangwang’, ‘2008-08-05’);
最后,执行查询语句select * from UserInfo以显示表中的所有数据。
在数据库中,定义了一个名为 RolesInfo 的表结构。如果该表已经存在,则将其删除。然后重新创建该表,包含以下字段:
r_id:角色编号,作为主键并自增,值为整数且不能为空。
r_name:角色名称,即职位名称,必须唯一。
r_desc:角色描述,允许为空,默认为“没有描述”。
此外,还添加了唯一性约束来确保角色名称的唯一性,并设置了默认值“没有描述”用于角色描述字段。
执行插入操作,将数据插入到 RolesInfo 表中。具体来说,插入一条记录,其中角色名为系统管理员,并赋予其可以执行任何操作的权限。此外,还插入了一条关于总经理作为最高管理者的信息,以及关于部门经理作为管理者的一条记录。最后,插入了一条关于普通员工的默认角色信息。随后执行查询操作,检索 RolesInfo 表中的所有记录。
用户与角色关联表(由于其一对多关系):UserRolesCenter。
如果存在名为UserRolesCenter的对象,则删除该表。
随后创建一个名为UserRolesCenter的表,包含以下字段:
c_id,一个整数类型的唯一标识符,作为主键并自增;
u_id,一个整数类型的外键,关联UserInfo表中的用户编号;用于修改和删除操作时遵循层叠删除规则;
r_id,一个整数类型的外键,关联RolesInfo表中的角色编号;同样用于修改和删除操作时遵循层叠删除规则。
最后,为UserRolesCenter表添加外键约束,将u_id关联到UserInfo表上的u_id列,并将r_id关联到RolesInfo表上的r_id列。
INSERT INTO UserRolesCenter (c_id, r_id) VALUES (1, 1);
INSERT INTO UserRolesCenter (c_id, r_id) VALUES (1, 2);
INSERT INTO UserRolesCenter (c_id, r_id) VALUES (2, 2);
INSERT INTO UserRolesCenter (c_id, r_id) VALUES (3, 3);
INSERT INTO UserRolesCenter (c_id, r_id) VALUES (4, 4);
SELECT * FROM UserRolesCenter;
DELETE FROM UserRolesCenter WHERE c_id = 5;
SELECT * FROM UserRolesView;
SELECT * FROM UserRolesView WHERE r_id = 1;
SELECT * FROM UserInfo WHERE u_id NOT IN (SELECT u_id FROM UserRolesView WHERE r_id = 1);
GO
该菜单表,命名为MenuInfo,将进行创建和删除操作。首先,如果已经存在名为MenuInfo的对象,则将其删除。随后,创建一个名为MenuInfo的表,包含以下字段:
M_id:一个整数类型的主键,自增且不能为空,用于唯一标识每个菜单;
M_name:一个长度为50的字符型字段,用于存储菜单的名称,该字段不能为空;
M_url:一个长度为50的字符型字段,用于存储菜单的链接地址,允许为空;
M_parentId:一个整数类型字段,表示父菜单编号,不能为空。
接下来定义一些约束条件(虽然当前示例中注释掉了插入语句),以便更好地管理菜单结构。
最后,执行查询操作以检索MenuInfo表中所有的数据。
若存在名为 PowerInfo 的对象,则将其删除。随后,创建一个名为 PowerInfo 的表,用于存储权限信息。该表包含以下字段:权限编号 (P_id),角色编号 (R_id),以及菜单编号 (M_id)。所有字段均为整数类型,且权限编号为主键并具有自增属性。此外,该表还定义了外键约束,分别关联 RolesInfo 表和 MenuInfo 表,以确保数据完整性。具体而言,R_id 字段外键关联 RolesInfo 表的 r_id 字段,而 M_id 字段外键关联 MenuInfo 表的 m_id 字段。
The specified operation, `INSERT into PowerInfo values(1,1)`, is performed.
Subsequently, `INSERT into PowerInfo values(1,2)` is executed.
Then, `INSERT into PowerInfo values(2,2)` is carried out.
Following this, `INSERT into PowerInfo values(3,3)` is completed.
And finally, `INSERT into PowerInfo values(4,4)` is finished.
The entire contents of the `PowerInfo` table are retrieved using a select statement.
A view is queried to obtain data from the `RolesMenuView` table.
Specifically, the functionality existing within Role ID 1 is accessed via a view.
To determine the functionalities absent from Role ID 1, a subquery is employed to subtract the functionalities already present in that role from all functionalities within the menu table.
Finally, a select statement retrieves all menu items (`MenuInfo`) whose IDs are not present in the set of menu items associated with Role ID 1.
The `GO` command signifies the completion of the preceding SQL statements.
全部评论 (0)


