边翔宇1117oracle大作业.docx
《边翔宇1117oracle大作业.docx》由会员分享,可在线阅读,更多相关《边翔宇1117oracle大作业.docx(47页珍藏版)》请在冰豆网上搜索。
边翔宇1117oracle大作业
《Oracle数据库管理与维护》
大作业
专业班级软件1202
姓名边翔宇
学号12015117
完成日期2014-11-28
1.创建表
SQL>createtableDanWDM(
2单位代码varchar2(20)notnull,
3单位名称varchar2(20)notnull);
表已创建。
SQL>createtableYouSJB(
2井号varchar2(20)notnull,
3井别varchar2(20)notnull,
4单位代码varchar2(20)notnull);
表已创建。
SQL>createtableWuMB(
2物码varchar2(20)notnull,
3名称规格varchar2(20)notnull,
4计量单位varchar2(20)notnull);
表已创建。
SQL>createtableShiGDWB(
2施工单位名称varchar2(20)notnull);
表已创建。
SQL>createtableCaiLFB(
2项目编号varchar2(20)notnull,
3物码varchar2(20)notnull,
4消耗数量numbernotnull,
5单价numbernotnull);
表已创建。
SQL>spooloff;
SQL>droptableCaiLFB
2;
表已删除。
SQL>createtableCaiLFB(
2材料一number,
3材料二number,
4材料三number);
表已创建。
SQL>altertableCaiLFBadd(项目编号varchar(20));
表已更改。
SQL>altertableCaiLFB
2modify材料一number(20);
表已更改。
SQL>altertableCaiLFB
2modify材料二number(20);
表已更改。
SQL>altertableCaiLFB
2modify材料三number(20);
表已更改。
SQL>descCaiLFB
名称是否为空?
类型
-----------------------------------------------------------------------------
材料一NUMBER(20)
材料二NUMBER(20)
材料三NUMBER(20)
项目编号VARCHAR2(20)
SQL>altertableCaiLFB
2addconstraintCL_PM_KEYprimarykey(项目编号);
表已更改。
SQL>descDanWDM
名称是否为空?
类型
-----------------------------------------------------------------------------
单位代码NOTNULLVARCHAR2(20)
单位名称NOTNULLVARCHAR2(20)
SQL>altertableDanWDM
2addconstraintDW_PM_KEYprimarykey(单位代码);
表已更改。
SQL>descYouSJB
名称是否为空?
类型
-----------------------------------------------------------------------------
井号NOTNULLVARCHAR2(20)
井别NOTNULLVARCHAR2(20)
单位代码NOTNULLVARCHAR2(20)
SQL>altertableYouSJB
2addconstraintYS_PM_KEYprimarykey(井号);
表已更改。
SQL>descYouSJB
名称是否为空?
类型
-----------------------------------------------------------------------------
井号NOTNULLVARCHAR2(20)
井别NOTNULLVARCHAR2(20)
单位代码NOTNULLVARCHAR2(20)
SQL>altertableYouSJB
2addconstraintYS_F_KEYforeignkey(单位代码)
3referencesDanWDM(单位代码);
表已更改。
SQL>descWuMB
名称是否为空?
类型
-----------------------------------------------------------------------------
物码NOTNULLVARCHAR2(20)
名称规格NOTNULLVARCHAR2(20)
计量单位NOTNULLVARCHAR2(20)
SQL>altertableWuMB
2addconstraintWM_PM_KEYprimarykey(物码);
表已更改。
SQL>descCaiLFB
名称是否为空?
类型
-----------------------------------------------------------------------------
材料一NUMBER(20)
材料二NUMBER(20)
材料三NUMBER(20)
项目编号NOTNULLVARCHAR2(20)
SQL>spooloff
SQL>descShiGDWB
名称是否为空?
类型
-----------------------------------------------------------------------------
施工单位名称NOTNULLVARCHAR2(20)
SQL>altertableShiGDWB
2addconstraintSG_PM_KEYprimarykey(施工单位名称);
表已更改。
SQL>createtableZYB
2(
3单据号VARCHAR2(20)notnull,
4预算单位VARCHAR2(20)notnull,
5井号VARCHAR2(20)notnull,
6预算金额NUMBER(10)notnull,
7预算人VARCHAR2(20)notnull,
8预算日期DATEnotnull,
9开工日期DATE,
10完工日期DATE,
11施工单位VARCHAR2(20),
12施工内容VARCHAR2(20),
13材料费NUMBER(10),
14人工费NUMBER(10),
15设备费NUMBER(10),
16其它费用NUMBER(10),
17结算金额NUMBER(10),
18结算人VARCHAR2(20),
19结算日期DATE,
20入账人VARCHAR2(20),
21入账日期DATE,
22入账金额NUMBER
23)
24;
表已创建。
SQL>descZYB
名称是否为空?
类型
-----------------------------------------------------------------------------
单据号NOTNULLVARCHAR2(20)
预算单位NOTNULLVARCHAR2(20)
井号NOTNULLVARCHAR2(20)
预算金额NOTNULLNUMBER(10)
预算人NOTNULLVARCHAR2(20)
预算日期NOTNULLDATE
开工日期DATE
完工日期DATE
施工单位VARCHAR2(20)
施工内容VARCHAR2(20)
材料费NUMBER(10)
人工费NUMBER(10)
设备费NUMBER(10)
其它费用NUMBER(10)
结算金额NUMBER(10)
结算人VARCHAR2(20)
结算日期DATE
入账人VARCHAR2(20)
入账日期DATE
入账金额NUMBER
SQL>altertableZYB
2modify入账金额number(10);
表已更改。
SQL>altertableZYB
2addconstraintZY_PM_KEYprimarykey(单据号);
表已更改。
SQL>descDanWDM
名称是否为空?
类型
-----------------------------------------------------------------------------
单位代码NOTNULLVARCHAR2(20)
单位名称NOTNULLVARCHAR2(20)
SQL>altertableDanWDM
2addconstraintDW_UN_KEYunique(单位名称);
表已更改。
SQL>altertableZYB
2addconstraintZY_F_KEY
3foreignkey(预算单位)
4referencesDanWDM(单位名称);
表已更改。
SQL>altertableZYB
2addconstraintZY_JH_F_KEY
3foreignkey(井号)
4referencesYouSJB(井号);
表已更改。
SQL>altertableZYB
2addconstraintZY_SGDW_F_KEY
3foreignkey(施工单位)
4referencesShiGDWB(施工单位名称);
表已更改。
SQL>altertableCaiLFB
2addconstraintCL_XMH_F_KEY
3foreignkey(项目编号)
4referencesZYB(单据号);
表已更改。
SQL>spooloff;
SQL>descdanWDM
名称是否为空?
类型
-----------------------------------------------------------------------------
单位代码NOTNULLVARCHAR2(20)
单位名称NOTNULLVARCHAR2(20)
2.数据插入
SQL>insertintodanwdm
2values('1122','采油厂');
已创建1行。
SQL>insertintodanwdm
2values('112201','采油一矿');
已创建1行。
SQL>insertintodanwdm
2values('112202','采油二矿');
已创建1行。
SQL>insertintodanwdm
2values('112201001','采油一矿1队');
已创建1行。
SQL>insertintodanwdm
2values('112201002','采油一矿2队');
已创建1行。
SQL>insertintodanwdm
2values('112201003','采油一矿3队');
已创建1行。
SQL>insertintodanwdm
2values('112202001','采油二矿1队');
已创建1行。
SQL>insertintodanwdm
2values('112202002','采油二矿2队');
已创建1行。
SQL>select*fromdanwdm;
单位代码
----------------------------------------
单位名称
----------------------------------------
112201
采油一矿
112201001
采油一矿1队
112201002
采油一矿2队
单位代码
----------------------------------------
单位名称
----------------------------------------
112201003
采油一矿3队
112202
采油二矿
112202001
采油二矿1队
单位代码
----------------------------------------
单位名称
----------------------------------------
112202002
采油二矿2队
1122
采油厂
已选择8行。
SQL>setlinesize80
SQL>select*fromdanwdm;
单位代码
----------------------------------------
单位名称
----------------------------------------
112201
采油一矿
112201001
采油一矿1队
112201002
采油一矿2队
单位代码
----------------------------------------
单位名称
----------------------------------------
112201003
采油一矿3队
112202
采油二矿
112202001
采油二矿1队
单位代码
----------------------------------------
单位名称
----------------------------------------
112202002
采油二矿2队
1122
采油厂
已选择8行。
SQL>descyousjb
名称是否为空?
类型
-----------------------------------------------------------------------------
井号NOTNULLVARCHAR2(20)
井别NOTNULLVARCHAR2(20)
单位代码NOTNULLVARCHAR2(20)
SQL>insertintoyousjbvalues
2(
3'y001','油','112201001');
已创建1行。
SQL>insertintoyousjbvalues
2(
3'y002','油','112201001');
已创建1行。
SQL>insertintoyousjbvalues
2(
3'y003','油','112201002');
已创建1行。
SQL>insertintoyousjbvalues
2(
3's001','水','112201002');
已创建1行。
SQL>insertintoyousjbvalues
2(
3'y004','油','112201003');
已创建1行。
SQL>insertintoyousjbvalues
2(
3's002','水','112202001');
已创建1行。
SQL>insertintoyousjbvalues
2(
3's003','水','112202001');
已创建1行。
SQL>insertintoyousjbvalues
2(
3'y005','油','112202002');
已创建1行。
SQL>select*fromyousjb;
井号
----------------------------------------
井别
----------------------------------------
单位代码
----------------------------------------
y001
油
112201001
y002
油
112201001
井号
----------------------------------------
井别
----------------------------------------
单位代码
----------------------------------------
y003
油
112201002
s001
水
井号
----------------------------------------
井别
----------------------------------------
单位代码
----------------------------------------
112201002
y004
油
112201003
s002
井号
----------------------------------------
井别
----------------------------------------
单位代码
----------------------------------------
水
112202001
s003
水
112202001
井号
----------------------------------------
井别
----------------------------------------
单位代码
----------------------------------------
y005
油
112202002
已选择8行。
SQL>insertintoshigdwbvalues(
2'作业公司作业一队'
3);
'作业公司作业一队'
*
第2行出现错误:
ORA-12899:
列"SYSTEM"."SHIGDWB"."施工单位名称"的值太大(实际值:
24,最大值:
20)
SQL>altertableshigdwb
2modify施工单位名称varchar2(40);
表已更改。
SQL>insertintoshigdwbvalues(
2'作业公司作业一队'
3);
已创建1行。
SQL>insertintoshigdwbvalues(
2'作业公司作业二队'
3);
已创建1行。
SQL>insertintoshigdwbvalues(
2'作业公司作业三队'
3);
已创建1行。
SQL>select*fromshigdwb;
施工单位名称
--------------------------------------------------------------------------------
作业公司作业一队
作业公司作业三队
作业公司作业二队
SQL>deswumb
SP2-0042:
未知命令"deswumb"-其余行忽略。
SQL>descwumb
名称是否为空?
类型
-----------------------------------------------------------------------------
物码NOTNULLVARCHAR2(20)
名称规格NOTNULLVARCHAR2(20)
计量单位NOTNULLVARCHAR2(20)
SQL>insertintowumbvalues(
2'wm001','材料一','吨');
已创建1行。
SQL>insertintowumbvalues(
2'wm002','材料二','米');
已创建1行。
SQL>insertintowumbvalues(
2'wm003','材料三','桶');
已创建1行。
SQL>insertintowumbvalues(
2'wm004','材料四','袋');
已创建1行。
SQL>altertablezyb
2modify施工单位varchar2(40);
表已更改。
SQL>desczyb
名称是否为空?
类型
-----------------------------------------------------------------------------
单据号NOTNULLVARCHAR2(20)
预算单位NOTNULLVARCHAR2(20)
井号NOTNULLVARCHAR2(20)
预算金额NOTNULLNUMBER(10)
预算人NOTNULLVARCHAR2(20)
预算日期NOTNULLDATE
开工日期DATE
完工日期DATE
施工单位VARCHAR2(40)
施工内容VARCHAR2(20)
材料费NUMBER(10)
人工费NUMBER(10)
设备费NUMBER(10)
其它费用NUMBER(10)
结算金额NUMBER(10)
结算人VARCHAR2(20)
结算日期DATE
入账人VARCHAR2(20)
入账日期DATE
入账金额NUMBER(10)
SQL>select*fromzyb
2;
未选定行
SQL>
SQL>insertintowumbvalu