CREATE TABLE food_ord (ord_foodid VARCHAR2(8) NOT NULL, //套餐ID ord_date DATE, //订购日期 ord_usernm VARCHAR2(20) NOT NULL, //订购员工姓名 ord_usgroup VARCHAR2(20) NOT NULL //员工所属部门 ord_amount NUMBER(2) NOT NULL,//订购总数 CONSTRAINT "food_ord" primary key(ord_foodid,ord_date,ord_usernm) );
员工账户和密码跟這個系統有关么? 三个实体足够了:员工表、套餐表、(员工与套餐实体的联系)订餐表。员工表存储员工的姓名,id(pk),部门;套餐存储套餐的id(pk),名称;订餐表储存每个员工定餐记录:id(pk),员工id(fk),套餐id(fk),日期,flag(以0,1标志是午餐还是晚餐,默认值为午餐)。至于订购总数 select count() from 订餐表 group by 套餐id 不就出来了吗?
(
ord_foodid VARCHAR2(8)
PRIMARY KEY, //套餐ID
只用这个做主键不行吧
(ord_foodid VARCHAR2(8) NOT NULL, //套餐ID
ord_date DATE, //订购日期
ord_usernm VARCHAR2(20) NOT NULL, //订购员工姓名
ord_usgroup VARCHAR2(20) NOT NULL //员工所属部门
ord_amount NUMBER(2) NOT NULL,//订购总数
CONSTRAINT "food_ord" primary key(ord_foodid,ord_date,ord_usernm)
);
三个实体足够了:员工表、套餐表、(员工与套餐实体的联系)订餐表。员工表存储员工的姓名,id(pk),部门;套餐存储套餐的id(pk),名称;订餐表储存每个员工定餐记录:id(pk),员工id(fk),套餐id(fk),日期,flag(以0,1标志是午餐还是晚餐,默认值为午餐)。至于订购总数
select count() from 订餐表 group by 套餐id
不就出来了吗?
DeptID,
DeptName
表二 员工表 User_Info:
UserID,
DeptID,
UserName,
UserPassword
表三 菜单表 Food_menu:
FoodId,
FoodName,
FoodType (早餐,晚餐)
表四 订单表 Orders
OrderID,
UserID,
FoodID,
OrderDate,
OrderType (早餐,晚餐)
OrderID,
UserID,
FoodID,
OrderDate,
OrderType (早餐,晚餐)就是这个表的最后一个字段,多余了。
把菜单合并就是一个好的建议,但是这里多了一个字段。他们的系统,在时间上,菜单上的显示都是可以控制的。
尽量不要用重复的字段(就是同样的含义,不是KEY),没有意义。PS:
楼上的人很多太好奇了,这个世界上什么人都有的。
据欧洲或者日本的科学家研究,男性这个性别,在几千年以后,可能会消失。忘记在什么地方看到的了。