zoukankan      html  css  js  c++  java
  • ORACLE 实验一

    实验一:数据定义

     

    实验学时:4学时

    实验类型:综合型

    实验要求:必修

    一、实验目的

    1、熟悉Oracle的client配置;

    2、掌握SQL Plus的使用;

    3、掌握SQL模式定义语句,定义相关的表、索引与完整性约束。

    二、实验内容

    1 Oracle的使用

    Oracle数据库管理系统採用客户机/server结构,client上须要配置数据库网络服务命名。在操作系统的“開始”菜单的“Oracle”程序组中,找到并执行“Net8”。查看当中的服务命名配置是否与server的数据库监听服务一致。比如:服务命名为“Oracle,參数主机名“Db_server(也能够输入主机的IP地址),监听port“1521,数据库名“Orcl”。

    在操作系统的“開始”菜单的“Oracle”程序组中,找到并执行“SQL Plus”。提供username(user1)、口令(123)Net8中配置服务命名(oracle)

    2project项目採购数据库

    设有供应商S、零件P、project项目J三个关系模式以及反映它们之间联系(某project使用了某供应商提供的某零件多少个)的关系模式SPJ

    S (SNO, SNAME, STATUS, CITY)

    P (PNO, PNAME, COLOR, WEIGHT)

    J (JNO, JNAME, CITY)

    SPJ(SNO, PNO, JNO, QTY)

    使用SQL模式定义语句定义以上关系模式,注意主键与外键的约束。在须要的属性上建立索引,在关系中插入例如以下演示样例数据。(数据插入或改动后输入COMMIT;更新提交命令。)

     

     

    S                                           SPJ

    SNO

    PNO

    JNO

    QTY

    S1

    S1

    S1

    S1

    S2

    S2

    S2

    S2

    S2

    S2

    S3

    S3

    S4

    S4

    S4

    S5

    S5

    S5

    S5

    P1

    P1

    P1

    P2

    P3

    P3

    P3

    P3

    P5

    P5

    P1

    P3

    P5

    P6

    P6

    P2

    P3

    P6

    P6

    J1

    J3

    J4

    J2

    J1

    J2

    J4

    J5

    J1

    J2

    J1

    J1

    J1

    J3

    J4

    J4

    J1

    J2

    J4

    200

    100

    700

    100

    400

    200

    500

    400

    400

    100

    200

    200

    100

    300

    200

    100

    200

    200

    500

    SNO

    SNAME

    STATUS

    CITY

    S1

    S2

    S3

    S4

    S5

    精益

    为民

    光大

    友好

    三利

    20

    10

    30

    20

    30

    天津

    北京

    北京

    天津

    上海

    P

    PNO

    PNAME

    COLOR

    WEIGHT

    P1

    P2

    P3

    P4

    P5

    P6

    螺母

    螺钉

    螺丝刀

    螺丝刀

    凸轮

    齿轮

    绿

    12

    17

    14

    14

    40

    30

    J                                  

    JNO

    JNAME

    CITY

    J1

    J2

    J3

    J4

    J5

    J6

    J7

    汽车厂

    弹簧厂

    造船厂

    机车厂

    无线电厂

    半导体厂

    仪器厂

    北京

    长春

    天津

    天津

    唐山

    常州

    南京

     

    3产品价格数据库

    设有下面四个关系模式

    PRODUCT (MAKER, MODEL, TYPE)

    PC (MODEL, SPEED, RAM, HD, CD, PRICE)

    LAPTOP (MODEL, SPEED, RAM, HD, SCREEN, PRICE)

    PEINTER(MODEL, COLOR, TYPE, PRICE)

    演示样例数据:

     

    PC                                             PRODUCT

    MODEL

    SPEED

    RAM

    HD

    CD

    PRICE

    1001

    1002

    1003

    1004

    1005

    1006

    1007

    1008

    1009

    1010

    122

    120

    166

    166

    166

    200

    200

    180

    200

    160

    16

    16

    24

    32

    16

    32

    32

    32

    32

    16

    1.6

    1.6

    2.5

    2.5

    2.0

    3.1

    3.2

    2.0

    2.5

    1.2

    6X

    6X

    6X

    8X

    8X

    8X

    8X

    8X

    8X

    8X

    1595

    1399

    1899

    1999

    1999

    2099

    2349

    3699

    2599

    1495

    MAKER

    MODEL

    TYPE

    A

    A

    A

    B

    B

    B

    B

    C

    C

    D

    D

    D

    D

    D

    D

    D

    D

    E

    E

    F

    G

    G

    H

    I

    1001

    1002

    1003

    1004

    1006

    3002

    3004

    1005

    1007

    1008

    1009

    1010

    2001

    2002

    2003

    3001

    3003

    2004

    2008

    2005

    2006

    2007

    3005

    3006

    PC

    PC

    PC

    PC

    PC

    Printer

    Printer

    PC

    PC

    PC

    PC

    PC

    Laptop

    Laptop

    Laptop

    Printer

    Printer

    Laptop

    Laptop

    Laptop

    Laptop

    Laptop

    Printer

    Printer

    LAPTOP

    MODEL

    SPEED

    RAM

    HD

    SCREEN

    PRICE

    2001

    2002

    2003

    2004

    2005

    2006

    2007

    2008

    100

    117

    117

    133

    133

    120

    150

    120

    20

    12

    32

    16

    16

    8

    16

    16

    1.10

    0.75

    1.00

    1.10

    1.00

    0.81

    1.35

    1.10

    9.5

    11.3

    10.4

    11.2

    11.3

    12.1

    12.1

    12.1

    1999

    2499

    3599

    3499

    2599

    1999

    4799

    2009

    PRINTER

    MODEL

    COLOR

    TYPE

    PRICE

    3001

    3002

    3003

    3004

    3005

    3006

    True

    True

    False

    False

    False

    True

    Ink-jet

    Ink-jet

    Laser

    Laser

    Ink-jet

    Dry

    275

    269

    829

    879

    180

    470

    以上23题能够选做1题,编写实验报告,上机调试,记录实验结果。

    三、实验原理、方法和手段

    使用SQL模式定义语句定义以上关系模式,注意主键与外键的约束。在须要的属性上建立索引,在关系中插入演示样例数据。(数据插入或改动后输入COMMIT;更新提交命令。)

    四、实验组织执行要求

    本实验为综合型实验,採用集中授课形式,学生集中上机操作。详细要求例如以下:

    1、学生在进行实验前必须进行充分的预习,熟悉实验内容;

    2、教师在学生实验过程中予以必要的辅导,学生独立完毕实验。

    五、实验条件

    1、提供一台具有WINDOWS 98/2000/NT/XP操作系统的计算机;

    2Oracle 8.0以上设计环境。

    六、实验步骤

    1、用SQL语言的模式定义设计上述实验内容,并採用Insert Into语句插入实验数据;

      2、採用文本编辑器如Windows的记事本,编辑上述SQL语句;

        3、执行“SQL Plus”,将文本编辑器中的语句逐条拷贝到“SQL Plus”中执行调试。

    七、思考题

        在上述关系模式的定义中有未定义外keyword?假设有请指出參照表、被參照表及參照属性,当删除或改动被參照关系主keyword的值时,为了不破坏參照完整性约束,应採取何种參照策略。

    八、实验报告

    1.实验预习

    在实验前每位同学都须要对本次实验进行认真的预习,并写好预习报告,在预习报告中要写出实验目的、要求、简要的实验步骤,形成一个操作提纲。

    2.实验记录

    学生開始实验时,应该将记录本放在近旁,将实验中所做的每一步操作、所得结果及相关条件如实地记录下来。

    3.实验报告

    主要内容包含实验中的关系模式定义代码、执行结果以及对调试过程中出现错误的分析总结,回答思考题,给出实验结论。

    九、其他说明

    学生严格遵守实验室的各项规章制度,配合和服从实验室人员管理。

     

    实验代码例如以下(在Oracle developer中执行无误 Index引用由主键自己主动生成了 所以这边我不要自己设计)

    PS:因为用的是非管理员权限 所以使用的是默认表空间 即;后不加不论什么的TABLESPACE tablesapce_name

     

    CREATE TABLE S
    (
       SNO VARCHAR2(8) PRIMARY KEY,
       SNAME VARCHAR2(8),
       STATUS VARCHAR2(8),
       CITY VARCHAR2(8)
    );
    
    CREATE TABLE P
    (
       PNO VARCHAR2(8) PRIMARY KEY,
       PNAEM VARCHAR2(8),
       COLOR VARCHAR2(8),
       WEIGHT NUMBER(10)
    );
    CREATE TABLE J
    (
       JNO VARCHAR2(8) PRIMARY KEY,
       JNAME VARCHAR2(8),
       CITY VARCHAR2(8)
    );
    CREATE TABLE SPJ
    (
      SNO VARCHAR2(8),
      PNO VARCHAR2(8),
      JNO VARCHAR2(8),
      QTY NUMBER(10),
      CONSTRAINT SPJ_SNO FOREIGN KEY(SNO)
      REFERENCES S(SNO),
       CONSTRAINT SPJ_PNO FOREIGN KEY(PNO)
      REFERENCES P(PNO),
       CONSTRAINT SPJ_JNO FOREIGN KEY(JNO)
      REFERENCES J(JNO)
    );
    //索引自己建立 在上面建立外键约束的时候自己建立了
    CREATE INDEX S_SNO_INDEX
    ON S(SNO)
    CREATE  INDEX P_PNO_INDEX
    ON P(PNO)
    CREATE INDEX J_JNO_INDEX
    ON J(JNO)
    CREATE INDEX SPJ_SNO_PNO_JNO_INDEX
    ON SPJ(SNO,PNO,JNO)
    
    
    
    INSERT INTO S VALUES('S1','精益',20,'天津');
    INSERT INTO S VALUES('S2','为民',10,'北京');
    INSERT INTO S VALUES('S3','光大',30,'北京');
    INSERT INTO S VALUES('S4','友好',20,'天津');
    INSERT INTO S VALUES('S5','三利',30,'上海');
    COMMIT;
    
    INSERT INTO P VALUES('P1','螺母','红',12);
    INSERT INTO P VALUES('P2','螺钉','绿',17);
    INSERT INTO P VALUES('P3','螺丝刀','兰',14);
    INSERT INTO P VALUES('P4','螺丝刀','红',14);
    INSERT INTO P VALUES('P5','凸轮','兰',40);
    INSERT INTO P VALUES('P6','齿轮','红',30);
    COMMIT;
    
    
    
    INSERT INTO J VALUES('J1','汽车厂','北京');
    INSERT INTO J VALUES('J2','弹簧厂','长春');
    INSERT INTO J VALUES('J3','造船厂','天津');
    INSERT INTO J VALUES('J4','机车厂','天津');
    INSERT INTO J VALUES('J5','无线电厂','唐山');
    INSERT INTO J VALUES('J6','半导体厂','常州');
    INSERT INTO J VALUES('J7','仪器厂','南京');
    COMMIT;
    
    
    INSERT INTO SPJ VALUES('S1','P1','J1',200);
    INSERT INTO SPJ VALUES('S1','P1','J3',100);
    INSERT INTO SPJ VALUES('S1','P1','J4',700);
    INSERT INTO SPJ VALUES('S1','P2','J2',100);
    INSERT INTO SPJ VALUES('S2','P3','J1',400);
    INSERT INTO SPJ VALUES('S2','P3','J2',200);
    INSERT INTO SPJ VALUES('S2','P3','J4',500);
    INSERT INTO SPJ VALUES('S2','P3','J5',400);
    INSERT INTO SPJ VALUES('S2','P5','J1',400);
    INSERT INTO SPJ VALUES('S2','P5','J2',100);
    INSERT INTO SPJ VALUES('S3','P1','J1',200);
    INSERT INTO SPJ VALUES('S3','P3','J1',200);
    INSERT INTO SPJ VALUES('S4','P5','J1',100);
    INSERT INTO SPJ VALUES('S4','P6','J3',300);
    INSERT INTO SPJ VALUES('S4','P6','J4',200);
    INSERT INTO SPJ VALUES('S5','P2','J4',100);
    INSERT INTO SPJ VALUES('S5','P3','J1',200);
    INSERT INTO SPJ VALUES('S5','P6','J2',200);
    INSERT INTO SPJ VALUES('S5','P6','J4',500);
    COMMIT;

    第二个数据库

    CREATE TABLE PRODUCT
    (
      MAKER VARCHAR2(5) ,
      MODEL VARCHAR2(12) PRIMARY KEY,
      TYPE VARCHAR2(12)
    );
    CREATE TABLE PC
    (
       MODEL VARCHAR2(12) PRIMARY KEY,
       SPEED NUMBER(10),
       RAM NUMBER(10),
       HD NUMBER(8,2),
       CD VARCHAR2(4),
       PRICE NUMBER(10),
       CONSTRAINT PC_PRODUCT_MODEL FOREIGN KEY(MODEL)
       REFERENCES PRODUCT(MODEL)
    );
    
    CREATE TABLE LAPTOP
    (
       MODEL VARCHAR2(12) PRIMARY KEY,
       SPEED NUMBER(10),
       RAM NUMBER(10),
       HD NUMBER(8,2),
       SCREEN NUMBER(8,2),
       PRICE NUMBER(10),
       CONSTRAINT LAPTOP_PRODUCT_MODEL FOREIGN KEY(MODEL)
       REFERENCES PRODUCT(MODEL)
    );
    CREATE TABLE PEINTER
    (
      MODEL VARCHAR2(12) PRIMARY KEY,
      COLOR VARCHAR2(10),
      TYPE VARCHAR2(10),
      PRICE NUMBER(10),
      CONSTRAINT PEINTER_PRODUCT_MODEL FOREIGN KEY(MODEL)
      REFERENCES PRODUCT(MODEL)
    );
    
    INSERT INTO PRODUCT VALUES('A','1001','PC');
    INSERT INTO PRODUCT VALUES('A','1002','PC');
    INSERT INTO PRODUCT VALUES('A','1003','PC');
    INSERT INTO PRODUCT VALUES('B','1004','PC');
    INSERT INTO PRODUCT VALUES('B','1006','PC');
    INSERT INTO PRODUCT VALUES('B','3002','Printer');
    INSERT INTO PRODUCT VALUES('B','3004','Printer');
    INSERT INTO PRODUCT VALUES('C','1005','PC');
    INSERT INTO PRODUCT VALUES('C','1007','PC');
    INSERT INTO PRODUCT VALUES('D','1008','PC');
    INSERT INTO PRODUCT VALUES('D','1009','PC');
    INSERT INTO PRODUCT VALUES('D','1010','PC');
    INSERT INTO PRODUCT VALUES('D','2001','Laptop');
    INSERT INTO PRODUCT VALUES('D','2002','Laptop');
    INSERT INTO PRODUCT VALUES('D','2003','Laptop');
    INSERT INTO PRODUCT VALUES('D','3001','Printer');
    INSERT INTO PRODUCT VALUES('D','3003','Printer');
    INSERT INTO PRODUCT VALUES('E','2004','Laptop');
    INSERT INTO PRODUCT VALUES('E','2008','Laptop');
    INSERT INTO PRODUCT VALUES('F','2005','Laptop');
    INSERT INTO PRODUCT VALUES('G','2006','Laptop');
    INSERT INTO PRODUCT VALUES('G','2007','Laptop');
    INSERT INTO PRODUCT VALUES('H','3005','Printer');
    INSERT INTO PRODUCT VALUES('I','3006','Printer');
    
    INSERT INTO PC VALUES('1001',	122,16,1.6,'6X',1595);
    INSERT INTO PC VALUES('1002',	120,16,1.6,'6X',1399);
    INSERT INTO PC VALUES('1003',	166,24,2.5,'6X',1899);
    INSERT INTO PC VALUES('1004',	166,32,2.5,'8X',1999);
    INSERT INTO PC VALUES('1005',	166,16,2	,'8X',1999);
    INSERT INTO PC VALUES('1006',	200,32,3.1,'8X',2099);
    INSERT INTO PC VALUES('1007',	200,32,3.2,'8X',2349);
    INSERT INTO PC VALUES('1008',	180,32,2	,'8X',3699);
    INSERT INTO PC VALUES('1009',	200,32,2.5,'8X',2599);
    INSERT INTO PC VALUES('1010',	160,16,1.2,'8X',1495);
    
    
    INSERT INTO LAPTOP VALUES('2001',	100,	20,	1.1 ,9.5	,1999);
    INSERT INTO LAPTOP VALUES('2002',	117,	12,	0.75,11.3	,2499);
    INSERT INTO LAPTOP VALUES('2003',	117,	32,	1	  ,10.4	,3599);
    INSERT INTO LAPTOP VALUES('2004',	133,	16,	1.1	,11.2	,3499);
    INSERT INTO LAPTOP VALUES('2005',	133,	16,	1	  ,11.3	,2599);
    INSERT INTO LAPTOP VALUES('2006',	120,	8	, 0.81,12.1	,1999);
    INSERT INTO LAPTOP VALUES('2007',	150,	16,	1.35,12.1	,4799);
    INSERT INTO LAPTOP VALUES('2008',	120,	16,	1.1	,12.1	,2009);
    
    
    INSERT INTO PEINTER VALUES('3001','TRUE'  ,'Ink-jet',275);
    INSERT INTO PEINTER VALUES('3002','TRUE'  ,'Ink-jet',269);
    INSERT INTO PEINTER VALUES('3003','FALSE' ,'Laser'	,829);
    INSERT INTO PEINTER VALUES('3004','FALSE'	,'Laser'	,879);
    INSERT INTO PEINTER VALUES('3005','FALSE'	,'Ink-jet',180);
    INSERT INTO PEINTER VALUES('3006','TRUE'	,'Dry'	  ,470);
    
    DROP TABLE PC;
    DROP TABLE LAPTOP;
    DROP TABLE PEINTER;
    DROP TABLE PRODUCT;
    
    


     

    第一次ORACLE实验 
  • 相关阅读:
    [BJOI2006]狼抓兔子
    [HNOI2016]最小公倍数
    hihocoder 1419 重复旋律4
    [NOI2015]品酒大会
    [SDOI2016]生成魔咒
    [ZJOI2009]狼和羊的故事
    BZOJ4361 isn
    [SDOI2009]虔诚的墓主人
    BZOJ 3329 Xorequ
    [ZJOI2013]丽洁体
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/4026513.html
Copyright © 2011-2022 走看看