数据库实验报告

重庆交通大学信息科学与工程学院

设计性实验报告

班        级: 

学        号:   

姓        名:       

称: 《数据库技术B》

实验项目名称:  概念模型的建立 

实验项目性质:  综合设计实验  

实验所属课程:  数据库         

实验室(中心): B01 406~407     

指 导 教 师 :       

实验完成时间:  20##  6  


 

一、实验目的

    1、把现实世界中的具体事物抽象成某一概念级的模型,建立起数据       库设计人员与用户之间的交流,为数据模型的建立奠定基础。

2、学会认识和分析现实世界,根据对用户需求,描述用户的数据要求:

   (1)学会从中抽取实体。

  (2)练习如何建立各实体间的联系。

  (3)从各实体和实体间的联系,抽取出数据处理的过程。

二、实验内容及要求

实验内容:在power designer中建立概念模型实现学生管理系统:

1、在工作区中建立15个实体,并且写出它的属性,本实验主要的实体以学生为主,建立了宿舍、班级、教师、班长、运动会等实体。

2、在该模型中表明实体间的联系,如一对一或是一对多。

3、在该模型中,带有下划的属性为该实体的主码,即用该属性来标识唯一的实体,实体与实体之间构成的联系可用一个实体来表示。

4、体属性的建立:双击实体对象,弹出实体描述对话框,要求输入实体的名称、实体代码、实体标签,在选择属性的数据类型时应根据其特性选择。

实验要求:建立学生管理系统,学生的课程设计,班级、宿舍等。

1、     分析系统中所存在的所有实体。

2、     分析系统中各实体之间所存在的联系。

3、     确立各联系的模型。

4、     用E-R图画出该系统的概念模型。

三、实验设备及软件

    计算机    辅助设计工具 power design

四、设计方案

㈠ 题目 

  概念模型的建立

㈡ 设计的主要思路

根据实际情况抽象出概念模型,并在power design 中建立概念模型,并利用该软件建立起数据模型。

㈢ 主要功能

  学生管理系统

五、主要代码

/* ============================================================ */

/*Database name:  MODEL_1                                    */

/*  DBMS name:      Microsoft SQL Server 6.x                   */

/*  Created on:     20##-6-10  10:38 上午![1]下午![1]![1]yyyy- */

/* ============================================================ */

/* ============================================================ */

/*Table: SHOP                                                */

/* ============================================================ */

create table SHOP

(

    SHOP         varchar(20)           not null,

    TYPE         varchar(30)           not null,

    NAME         varchar(20)           not null,

    constraint PK_SHOP primary key (SHOP)

)

go

/* ============================================================ */

/Table: DORMITORY                                           */

/* ============================================================ */

create table DORMITORY

(

    HOETEL       varchar(20)           not null,

    FLOOR        varchar(15)           not null,

    PEOPLE       varchar(20)           not null,

    MANAGE       varchar(15)           not null,

    constraint PK_DORMITORY primary key (HOETEL)

)

go

/* ===========================================================Table COURSE                                              */

/* ============================================================ */

create table COURSE

(

    CURRICULUM   varchar(20)           not null,

    NAME         varchar(20)           not null,

    constraint PK_COURSE primary key (CURRICULUM)

)

go

/* ============================================================ */

/* Table: SALE                                                */

/* ============================================================ */

create table SALE

(

    SHOP         varchar(20)           not null,

    constraint PK_SALE primary key (SHOP)

)

go

/* ============================================================ */

/*Table: SUDENT                                              */

/* ============================================================ */

create table SUDENT

(

    NAME         varchar(15)           not null,

    SEX          varchar(20)           not null,

    AGE          varchar(20)           not null,

    SNUMBER      varchar(15)           not null,

    CURRICULUM   varchar(20)           null    ,

    HOETEL       varchar(20)           null    ,

    SHOP         varchar(20)           null    ,

    constraint PK_SUDENT primary key (SNUMBER)

)

go

/* ============================================================ */

/* Index: SUDENT_PK                                           */

/* ============================================================ */

create unique index SUDENT_PK on SUDENT (NAME, SNUMBER)

go

/* ============================================================ */

/*Index: RELATION_62_FK                                      */

/* ============================================================ */

create index RELATION_62_FK on SUDENT (CURRICULUM)

go

/* ============================================================ */

/*Index: RELATION_92_FK                                      */

/* ============================================================ */

create index RELATION_92_FK on SUDENT (HOETEL)

go

/* ============================================================ */

/*Index: RELATION_115_FK                                     */

/* ============================================================ */

create index RELATION_115_FK on SUDENT (SHOP)

go

/* ============================================================ */

/*  Table: JOIN                                                */

/* ============================================================ */

create table JOIN

(

    SNUMBER      varchar(15)           not null,

    PROJECT      varchar(20)           not null,

    constraint PK_JOIN primary key (SNUMBER)

)

go

/* ============================================================ */

/* Table: TEACHER                                             */

/* ============================================================ */

create table TEACHER

(

    TEACHER      varchar(15)           not null,

    SNUMBER      varchar(15)           null    ,

    NAME         varchar(20)           not null,

    CLASS        varchar(20)           not null,

    SEX          varchar(20)           not null,

    constraint PK_TEACHER primary key (TEACHER)

)

go

/* ============================================================ */

/*Index: RELATION_116_FK                                     */

/* ============================================================ */

create index RELATION_116_FK on TEACHER (SNUMBER)

go

/* ============================================================ */

/*  Table: STAY                                                */

/* ============================================================ */

create table STAY

(

    HOETEL       varchar(20)           not null,

    constraint PK_STAY primary key (HOETEL)

)

go

/* ============================================================ */

/* Table: ELECTIVE                                            */

/* ============================================================ */

create table ELECTIVE

(

    CURRICULUM   varchar(20)           not null,

    SUCCESS      varchar(25)           null    ,

    constraint PK_ELECTIVE primary key (CURRICULUM)

)

go

/* ============================================================ */

/*Table:CORPORATION                                         */

/* ============================================================ */

create table CORPORATION

(

    CORPORATION  varchar(20)           not null,

    SNUMBER      varchar(15)           null    ,

    CODE         varchar(20)           not null,

    PEOPLE       varchar(20)           not null,

    constraint PK_CORPORATION primary key (CORPORATION)

)

go

/* ============================================================ */

/* Index: JOIN_FK                                             */

/* ============================================================ */

create index JOIN_FK on CORPORATION (SNUMBER)

go

/* ============================================================ */

/* Table: CLASSES                                             */

/* ============================================================ */

create table CLASSES

(

    CLASSES      varchar(15)           not null,

    SNUMBER      varchar(15)           null    ,

    NAME         varchar(20)           not null,

    SPECIALTY    varchar(20)           not null,

    CLASS        varchar(20)           not null,

    constraint PK_CLASSES primary key (CLASSES)

)

go

/* ============================================================ */

/*Index: MAKE_FK                                             */

/* ============================================================ */

create index MAKE_FK on CLASSES (SNUMBER)

go

/* ============================================================ */

/* Table: SPORTS                                              */

/* ============================================================ */

create table SPORTS

(

    SPORT        varchar(15)           not null,

    SNUMBER      varchar(15)           null    ,

    TROOPS       varchar(20)           not null,

    TRAIN        varchar(15)           not null,

    TIME         varchar(20)           not null,

    PLACE        varchar(20)           not null,

    constraint PK_SPORTS primary key (SPORT)

)

go

/* ============================================================ */

/*Index: RELATION_67_FK                                      */

/* ============================================================ */

create index RELATION_67_FK on SPORTS (SNUMBER)

go

/* ============================================================ */

/* Table: BOOK                                                */

/* ============================================================ */

create table BOOK

(

    TEACHER      varchar(15)           not null,

    NAME         varchar(20)           not null,

    PRESS        varchar(20)           not null,

    WRITER       varchar(20)           not null,

    constraint PK_BOOK primary key (TEACHER)

)

go

/* ============================================================ */

/* Table: BOOKS                                               */

/* ============================================================ */

create table BOOKS

(

    WAIL         varchar(15)           not null,

    SNUMBER      varchar(15)           null    ,

    TITLE        varchar(20)           not null,

    WRITER       varchar(20)           not null,

    PRICE        varchar(25)           not null,

    STOCK        varchar(25)           not null,

    constraint PK_BOOKS primary key (WAIL)

)

go

/* ============================================================ */

/*Index:BORROW_FK                                           */

/* ============================================================ */

create index BORROW_FK on BOOKS (SNUMBER)

go

/* ============================================================ */

/* Table: LEADER                                              */

/* ============================================================ */

create table LEADER

(

    SNUMBER      varchar(15)           not null,

    NUMBER       varchar(15)           not null,

    NAME         varchar(20)           not null,

    SEX          varchar(20)           not null,

    constraint PK_LEADER primary key (SNUMBER, NUMBER)

)

go

/* ============================================================ */

/*Index: RELATION_99_FK                                      */

/* ============================================================ */

create index RELATION_99_FK on LEADER (SNUMBER)

go

alter table SALE

    add constraint FK_SALE_RELATION__SHOP foreign key  (SHOP)

       references SHOP (SHOP)

go

alter table SUDENT

    add constraint FK_SUDENT_RELATION__ELECTIVE foreign key  (CURRICULUM)

       references ELECTIVE (CURRICULUM)

go

alter table SUDENT

    add constraint FK_SUDENT_RELATION__STAY foreign key  (HOETEL)

       references STAY (HOETEL)

go

alter table SUDENT

    add constraint FK_SUDENT_RELATION__SALE foreign key  (SHOP)

       references SALE (SHOP)

go

alter table JOIN

    add constraint FK_JOIN_RELATION__SUDENT foreign key  (SNUMBER)

       references SUDENT (SNUMBER)

go

alter table TEACHER

    add constraint FK_TEACHER_RELATION__SUDENT foreign key  (SNUMBER)

       references SUDENT (SNUMBER)

go

alter table STAY

    add constraint FK_STAY_RELATION__DORMITOR foreign key  (HOETEL)

       references DORMITORY (HOETEL)

go

alter table ELECTIVE

    add constraint FK_ELECTIVE_RELATION__COURSE foreign key  (CURRICULUM)

       references COURSE (CURRICULUM)

go

alter table CORPORATION

    add constraint FK_CORPORAT_JOIN_SUDENT foreign key  (SNUMBER)

       references SUDENT (SNUMBER)

go

alter table CLASSES

    add constraint FK_CLASSES_MAKE_SUDENT foreign key  (SNUMBER)

       references SUDENT (SNUMBER)

go

alter table SPORTS

    add constraint FK_SPORTS_RELATION__JOIN foreign key  (SNUMBER)

       references JOIN (SNUMBER)

go

alter table BOOK

    add constraint FK_BOOK_PLAY_TEACHER foreign key  (TEACHER)

       references TEACHER (TEACHER)

go

alter table BOOKS

    add constraint FK_BOOKS_BORROW_SUDENT foreign key  (SNUMBER)

       references SUDENT (SNUMBER)

go

alter table LEADER

    add constraint FK_LEADER_RELATION__SUDENT foreign key  (SNUMBER)

       references SUDENT (SNUMBER)

go

五、实验结果

实验体会

   通过这次的实验设计,让我更清楚的明白关系模型的具体结构,实体模型,实体之间的联系的设计,在这次实验中出现了许多的问题,在生成物理模型的时候许多地方出现了错误,主要的错误是实体间的联系关系出错,1:n与n:n的关系没有弄清,还有些多余的属性,多余的联系,在改的过程中也有跟同学一起讨论,还有老师在上机的时候教了一些方法,最后生成了物理模型。通过这次设计实验,让我更深的了解了数据库的用法以及作用,在人们生活中带来了许多的方便,节省人们查找及记录数据的时间。所以,我们在以后的生活及学习的过程中也要好好地学习和运用数据库,让我们的学习和生活更加简便。

   

相关推荐