数据库实训供应表的创建
2021/6/27 19:22:51
本文主要是介绍数据库实训供应表的创建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
客户(client)的属性有:客户编码(cno)、客户名称(cname)、所属行业(trades)、客户地址(caddress)、客户联系人(clinkman)、客户电话(ctelephone) ;产品(product)的属性有:产品编号(pno)、产品名称(pname)、规格(spec)、单位(unit)、单价(unitprice);厂家(factory)的属性有:厂家编码(fno)、厂家名称(fname)、厂家地址(faddress)、销售经理(salesmanager)、厂家电话(ftelephone)。
在客户订购(order)产品中,一个客户可以订购多种产品,一种产品也可以被多个客户订购,客户订购产品时须标明订购的订购数量(amount)和订购日期(date);在厂家供应(supply)产品中,一种产品可以由多个厂家供应,一个厂家也可供应多种产品,厂家供应产品时须标明供应日期(sdate )和供应数量(samount)。
先画出e-r图(E-R图自行画)
然后再写出实体关系
客户(客户编码(cno)、客户名称(cname)、所属行业(trades)、客户地址(caddress)、客户联系人(clinkman)客户电话(ctelephone))
产品(产品编号(pno)、产品名称(pname)、规格(spec)、单位(unit)、单价(unitprice))
厂家(厂家编码(fno)、厂家名称(fname)、厂家地址(faddress)、销售经理(salesmanager)、厂家电话(ftelephone))
订购(客户编码(cno)、产品编号(pno)、订购数量(amount)、订购日期(date))
供应(产品编号(pno)、厂家编码(fno)、供应日期(sdate )、供应数量(samount))
首先创建库
CREATE DATABASE 库名
建立关系模式
开始创表
CHAR是字符型,int是整型。CHAR值可以随意添加,看你自己想输入多长,一个中文符号或者字都占两个字符型,英文只占一个字符型。
USE 库名 GO /*使用这个数据库开始创建表*/ /*CHAR括号里的值请自行输入,订购的Pno和Cno要跟客户表和产品表的Pno和Cno值一样 同理供应表的Pno和Fno也是一样的道理*/ CREATE TABLE CLIENT ( Cno CHAR() PRIMARY KEY , Cname CHAR() , Trades CHAR(), Caddress CHAR(), Clinkman CHAR(), Ctelephone CHAR(), ); USE 库名 GO CREATE TABLE PRODUCT (Pno CHAR() PRIMARY KEY, Pname CHAR(), Spec CHAR(), /*可以写int值*/ Unit CHAR(), Unitprice int, ); USE 库名 GO CREATE TABLE FACTORY (Fno CHAR() PRIMARY KEY, Fname VARCHAR(), Fadderss VARCHAR (), Salesmanager VARCHAR(), Ftelephon CHAR(11), ); USE 库名 GO CREATE TABLE ORDERS/*订购表*/ (Dates CHAR(), Cno CHAR(), Pno CHAR(), Amount int, PRIMARY KEY (Cno,Pno),/*主键*/ FOREIGN KEY (Cno) REFERENCES client(Cno),/*外键和引用*/ FOREIGN KEY (Pno)REFERENCES product(Pno), ); USE 库名 GO CREATE TABLE SUPPLY (Sdate CHAR(), Pno CHAR(), Fno CHAR(), Samount int, PRIMARY KEY (Pno,Fno), FOREIGN KEY (Pno) REFERENCES product(Pno), FOREIGN KEY (Fno) REFERENCES Factory(Fno) );
接下来开始插入数据
INSERT INTO CLIENT VALUES /*插入5~10个客户数据,最后一个数据不需要在末尾加上逗号*/ ('Cno','Cname','Trades','Caddress','Clinkman','Ctelephone'), ('Cno','Cname','Trades','Caddress','Clinkman','Ctelephone'), ('Cno','Cname','Trades','Caddress','Clinkman','Ctelephone') INSERT INTO PRODUCT VALUES/*产品插入5~10个*/ ('Pno', 'Pname', 'Spec', 'Unit',Unitprice), ('Pno', 'Pname', 'Spec', 'Unit',Unitprice) INSERT INTO FACTORY VALUES/*厂家插入10个*/ ('Fno', 'Fname','Fadderss','Salesmanager','Ftelephon'), INSERT INTO ORDERS VALUES/*订购 插入10个*/ ('Dates','Cno','Pno',Amount), INSERT INTO SUPPLY VALUES/*供应 插入10个*/ ('Sdate','Pno','Fno',Amount), /*可以发现没有''单引号的数值都是整型*/
创建一个非聚集索引
CREATE INDEX Trades/*客户的所属行业*/ ON Client(trades)
最后创建
CREATE VIEW St/*创建一个包含trades,cname,pname的视图*/ AS SELECT Trades,Cname,Pname FROM 客户表 JOIN 订购表 ON 客户表.客户编号=订购.客户编号 JOIN 产品 ON 订购表.产品编码=产品表.产品编码;
第一次写文章,以上代码如有错误请多多指教,谢谢。
这篇关于数据库实训供应表的创建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-11cursor试用出现:Too many free trial accounts used on this machine 的解决方法
- 2025-01-11百万架构师第十四课:源码分析:Spring 源码分析:深入分析IOC那些鲜为人知的细节|JavaGuide
- 2025-01-11不得不了解的高效AI办公工具API
- 2025-01-102025 蛇年,J 人直播带货内容审核团队必备的办公软件有哪 6 款?
- 2025-01-10高效运营背后的支柱:文档管理优化指南
- 2025-01-10年末压力山大?试试优化你的文档管理
- 2025-01-10跨部门协作中的进度追踪重要性解析
- 2025-01-10总结 JavaScript 中的变体函数调用方式
- 2025-01-10HR团队如何通过数据驱动提升管理效率?6个策略
- 2025-01-10WBS实战指南:如何一步步构建高效项目管理框架?