zoukankan      html  css  js  c++  java
  • 数据库图书管理建表与修改表

    根据调研选定实体及相应属性画出E-R图

    2、将E-R模型转换为对应关系模型,并指出主码和外码  

    图书book(书号,类别,出版社,作者,书名,定价,备注);

    读者reader(编号,姓名,单位,性别,电话);

    借阅borrow(书号,读者编号,借阅日期,还书日期)。

    3. 建数据库及表,定义各属性的域 。并完成主码、外码的定义。    

    根据上面的表结构,要求:① 对每个属性选择合适的数据类型;② 定义每个表的主码、是否允许空值和默认值等列级数据约束;③ 对每个表的名字和表中属性的名字尽可能用英文符号标识。

    实现相关约束(预习自学内容):①建立上述三个表的联系,即实现:借阅表与图书表之间、借阅表与读者表之间的外码约束;② 实现读者性别只能是“男”或“女”的约束等。

    (1)新建数据库

     CREATE DATABASE Book_Reader_DB_20170513

     CONTAINMENT = NONE

     ON  PRIMARY

    (

        NAME = 'Book_Reader_DB_20170513',

        FILENAME = 'C:Microsoft SQL ServerMSSQL14.MSSQLSERVERMSSQLDATABook_Reader_DB_20170513.mdf' ,

        SIZE = 8192KB ,

        MAXSIZE = 2048GB,

        FILEGROWTH = 65536KB

    )

    LOG ON

    (

        NAME = 'Book_Reader_DB_20170513_log',

        FILENAME = 'C:Microsoft SQL ServerMSSQL14.MSSQLSERVERMSSQLDATABook_Reader_DB_20170513_log.ldf' ,

        SIZE = 8192KB ,

        MAXSIZE = 2048GB ,

        FILEGROWTH = 65536KB

    )

    (2)新建图书表

    【操作语句】

                create table Book

    (

        Bid char(6) primary key,

        Btype nvarchar(10) not null,

        Bname nvarchar(50) not null,

        Bauthor nvarchar(20) not null,

        Pressname nvarchar(30) not null,

        Bprice float not null ,

        Btip nvarchar(50)

    )

    (3)新建读者表

    【操作语句】

    create table Reader

    (

        Rid char(8) primary key,

        Rname nvarchar(10) not null,

        Rsex nchar(2) not null check(Rsex='男' or Rsex='女'),

        Rdepartment nvarchar(20) not null,

        Rnumber char(11) 

    )

    (4)新建借阅表

    【操作语句】

          create table RB

    (

            Rid char(8) foreign key references Reader(Rid),

            Bid char(6) foreign key references Book(Bid),

            BorrowDate datetime not null default getdate(),

            ReturnDate datetime,

            primary key(Rid, Bid)

    )

    4、使用inesert语句向表中插入适当数据

    --向Reader表插入数据:

                      insert Reader values('2017258','东方','女','软件学院','12345677654'),

    ('2017290','西门吹雪','男','软件学院','24190520724'),

    ('2017250','上官','女','软件学院','35729264967'),

    ('2017345','南宫问天','男','计算机学院','35705724064'),

    ('2017336','北冥雪','女','计算机学院','19036330639')

    --向Book表插入数据:

    insert Book values('111000','计算机','计算机组成原理','盖茨','清华出版社',32.8,'出版于2012年'),

    ('111110','计算机','计算机网络','扎克','清华出版社',28.2,'出版于2015年'),

    ('111120','计算机','计算机发展史','艾比恩姆','清华出版社',30.6,'出版于2013年'),

    ('111119','数据库','SQL Server从入门到精(fang)通(qi)','王琳','中国人民大学出版社',32.8,'出版于2012年'),

    ('111205','数据库','MY SQL实践','苏铭','中国科技大学出版社',38.3,'出版于2016年'),

    ('111250','操作系统','Linux就该这么学','托沃兹','北京大学出版社',32.1,null)

    --向RB表(借阅表)插入数据:

    insert RB values('2017258','111000','2018-10-28','2018-11-13'),

    ('2017258','111120','2018-10-28',null),

    ('2017290','111119','2018-10-25','2018-11-27'),

    ('2017250','111119','2018-10-24','2018-11-28'),

    ('2017336','111205','2018-10-28','2018-11-13'),

    ('2017345','111000','2018-10-28','2018-11-13'),

    ('2017345','111250','2018-10-10','2018-10-28') 

     update和alter的使用:

    1)在实验一的基础上使用数据定义语言在图书表中增加两个属性:数量和购买日期。

    【定义语句】

                  alter table Book add Bcount int not null default 0

    alter table Book add Bbuytime datetime

    【实验结果】

    2)使用update语句来修改图书表中的数量和购买日期数据

    【操作语句】

    update Book set Bcount=200, Bbuytime='2015-2-3' where Btype='计算机'

    update Book set Bcount=300, Bbuytime='2015-3-5' where Btype='数据库'

    update Book set Bcount=500, Bbuytime='2017-7-7' where Btype='操作系统'

  • 相关阅读:
    JavaScript——闭包(转自别人)
    JavaScript ——内部函数和匿名函数
    socks5代理服务器ss5配置
    TCP部首长度定义
    九个Console命令,让js调试更简单
    一位前端新手入住博客园
    动画库 Tweenmax 使用示例1
    Dijkstra算法实例
    N皇后问题
    华为精益研发外包 PDF
  • 原文地址:https://www.cnblogs.com/DSYR/p/9898772.html
Copyright © 2011-2022 走看看