精华内容
下载资源
问答
  • 图书管理系统数据库设计

    万次阅读 多人点赞 2018-05-26 23:44:35
    图书管理系统数据库设计 博主在github上找的这个项目链接,大家想参考的可以看看! JAVA GUI 图书馆管理系统:https://github.com/uboger/LibraryManager 图书馆流通管理系统:...

       图书管理系统数据库设计

    博主在github上找的这个项目链接,大家想参考的可以看看!

     

    1、摘要:

    一个简单的图书管理系统包括图书馆内书籍的信息、学校在校学生的信息以及学生的借阅信息。此系统功能分为面向学生和面向管理员两部分,其中学生可以进行借阅、续借、归还和查询书籍等操作,管理员可以完成书籍和学生的增加,删除和修改以及对学生,借阅、续借、归还的确认。

    2、需求分析

    针对一般图书管理信息系统的需求,通过对图书管理工作过程的内容和数据流程分析,设计如下面所示的数据项:

    Ø       读者信息

    属性:读者学号,读者姓名,读者性别,联系电话,所在系,生效日期,失效日期,违章状况,累计借书,备注

    主键:读者学号

    Ø       书籍信息

    属性:ISBN,书名,作者,出版社,出版日期,简介,备注

    主键:ISBN

    Ø       管理员信息

    属性:工作号,姓名,性别,电话,家庭住址,备注

    主键:工作号

    2.1 数据流程

    通过对系统的调查和可行性分析,画出系统的数据流程图:

    2.1.1 读者

    学生对图书管理系统的要求有:

    Ø       能按各种方式(比如书名、编号、作者)查询图书馆的藏书情况。

    Ø       能够方便地借阅图书、续借图书、归还图书

    Ø       能够查询自己的基本资料、图书情况

    Ø       能够熟悉图书管理系统的使用。

    读者进入系统工作的流程图为:

     

     

     

    注册

    查询

    修改信息

    借阅续借

    图书

    归还

    注销

     

    2.1.2 图书管理员

    他们对图书管理系统的要求有:

    1. 能方便的对图书进行录入登记,注销陈旧的书籍。

    2. 能够方便地对新生进行登记,或注销已经毕业的学生信息(基本信息,借阅信息)。

    3. 能够随时发布一些诸如各学院学生借阅图书超期情况、馆内藏书情况、借情况等信息,以便各学院能够随时获知本院学生的一些借书信息。

    图书管理员工作的流程图为:

     

     

    注册

    录入图书

    录入新生

    注销图书

    注销学生

    注销

    修改个人信息

    超期处理

     

     

    3、概念模型设计

     数据库需要表述的信息有以下几种:

     (1)读者信息

     (2)书籍信息

    (3)管理员信息

    (4)读者与书籍之间的关系(借阅关系E-R图)

    (5)管理员与书籍之间的关系(管理员_书籍E-R图)

    (6)管理员与学生之间的关系(管理员_学生 E-R图)

    3.1管理员与读者之间的关系

    3.3管理员与书刊之间的关系

    3.3读者与书籍之间的关系(借阅三元关系)

     

    4、逻辑设计

    从理论‘E/R模型’到理论‘关系模型’的整理转换,通过E/R模型到关系模型的转化,可以得到如下关系模式:

    借阅关系

    属性:工作号读者学号,ISBN是否续借,借书日期,还书日期,备注。

    主键:工作号,读者学号,ISBN

    管理员_书籍关系

    属性:工作号,ISBN添加时间,是否在馆

    主键:工作号,ISBN

    管理员_学生关系

    属性:工作号,读者学号,确认借还

    主键:工作号,读者学号

    5、数据库逻辑结构

    5.1图书信息表   

    字段名称

    数据类型

    是否可为空

    ISBN(key)

    varchar(20)

    书名

    varchar(50)

    作者

    varchar(12)

    出版社

    varchar(50)

    出版日期

    datetime

    简介

    varchar(200)

     备注

    varchar(200)

    5.2 读者信息表

    字段名称

    数据类型

    是否可为空

    读者学号(key)

    varchar(12)

    读者姓名

    varchar(10)

    读者性别

    varchar(2)

    联系电话

    varchar(10)

    所在系

    varchar(12)

    生效时间

    datatime

    失效时间

    datatime

    违章状况

    varchar(2)

    累计借书

    int

    备注

    varchar(100)

    5.3 管理员信息表

    字段名称

    数据类型

    是否可为空

    工作号(key)

    varchar(12)

    姓名

    varchar(12)

    性别

    varchar(2)

    电话

    varchar(12)

    住址

    varchar(12)

    备注

    varchar(100)

    5.4 借阅表

             

    字段名称

    数据类型

    是否可为空

    工作号

     char(10)

    ISBN

     char(10)

    读者学号

     char(10)

    借书日期

    datetime

    还书日期

    datetime

    是否续借

    char(4)

    备注

    varchar(100)

     

    5.5 管理员_书籍

    字段名称

    数据类型

    是否可为空

    工作号

    char(10)

    ISBN

    char(10)

    添加时间

    data time

    是否在馆

    char(14)

     

    5.6 管理员_学生

             

    字段名称

    数据类型

    是否可为空

    工作号

    char(10)

    读者学号

    char(10)

    借还确认

    char(4)

     

    6、物理设计   

    从理论‘关系模型’到实现/实施‘数据库建立’,物理文件的安排和建立索引

    6.1 建立索引

    为了提高在表中搜索元组的速度,在实际实现的时候应该基于键码建立索引是各表中建立索引的表项:

    (1) 读者信息(读者学号)

    (2) 书籍信息(ISBN)

    (3)管理员信息(工作号)

    (4)借阅(工作号,读者学号,ISBN)

    (5)管理员_书籍(工作号,ISBN)

    (6)管理员_学生(工作号,读者学号)

    6.2 用SQL实现设计

    实现该设计的环境为Windows 2000 Perfessinal+MSSQLServer 2000.0

    6.2.1建立图书信息表

     create table 图书

     (ISBN varchar(20) not null primary key,

      书名 varchar(50) not null,

      作者 varchar(12) not null,

      出版社 varchar(50),

      出版日期 datetime,

      简介 varchar(200),

      备注 varchar(200),)

    6.2.2建立读者信息表

    create table 读者

     (读者学号 varchar(12) not null primary key,

      读者姓名 varchar(10) not null,

      读者性别 varchar(2) not null,

      联系电话 varchar(12),

      所在系   varchar(20) not null,

      生效日期 datetime,

      失效日期 datetime,

      违章状态 char(2),

      累计借书 int,

      备注    varchar(100),)

    6.2.3建立管理员信息表

           create table 管理员

            (工作号 varchar(12) not null primary key,

    姓名   varchar(12) not null,

    性别   varchar(2) not null,

    电话   varchar(12),

    家庭住址 varchar(50),

    备注 varchar(100))

    6.2.4建立借阅表

         create table 借阅

    (工作号 char(10) not null,

    ISBN char(10) not null,

    读者学号 char(10) not null,

    借书日期 datetime not null,

    还书日期 datetime not null,

    是否续借 char(4) not null,

           备注 varchar(100) )

    6.2.5建立管理员_书籍表

            create table 管理员_书籍

    (工作号 char(10) not null,

    ISBN char(10) not null,

    添加时间 datetime,

    是否在馆 char(4))

    6.2.6建立管理员_学生表

           create table 管理员_学生

    (工作号 char(10) not null,

    读者学号 char(10) not null,

    ISBN char(10) not null,

    借还确认 char(4) not null)

    6.2.7建立索引

         CREATE UNIQUE INDEX 图书索引 ON 图书(ISBN)

        CREATE UNIQUE INDEX 读者索引 ON 读者(读者学号)

    CREATE UNIQUE INDEX 管理员索引 ON 读者(工作号)

    CREATE UNIQUE INDEX借阅索引 ON 借阅(工作号,读者学号,ISBN)

    CREATE UNIQUE INDEX管理员_书籍索引 ON 管理员_书籍 (工作号,ISBN读者学号)

    CREATE UNIQUE INDEX管理员_学生ON管理员_学生 (工作号,读者学号)

    6.2.8定义视图

    (1)读者表视图

       CREATE VIEW 读者视图

       AS

          SELECT *

          FROM 读者

    (2)图书表视图

       CREATE VIEW 图书视图

       AS

          SELECT *

          FROM 图书

    (3)管理员表视图

       CREATE VIEW 管理员视图

       AS

          SELECT *

          FROM 管理员者

     

     

    6.2.9管理员操作

    (1)注册(register)

    INSERT INTO 管理员 (工作号,姓名,性别,电话,家庭住址,备注)

    VALUES(#工作号,#姓名,#性别,#电话,#家庭住址,#备注)

    说明:在登记操作后,管理员得到一个唯一的工作号,可以根据这个工作号采查询和修改数据。

    (2)注销(unregister)

    DELETE

    FROM Provider

    WHERE(工作号=#工作号);

    (3)修改个人信息(update)

    UPdate 管理员

    Set (工作号=#工作号,姓名=#姓名,性别=#性别,电话=#电话,家庭住址=#家庭住址,备注=#备注)

    WHERE(工作号=#工作号)

    (4)增加书籍(addbooks)

    INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)

    VALUES(#ISBN,#书名,#作者,#出版社,#出版日期,#简介,#备注) INSERT INTO 管理员_书籍表(工作号,ISBN,添加时间,是否在馆)

    VALUES(#工作号,#ISBN,#添加时间,#是否在馆)

    (5)删除书籍(deletebooks)

    DELETE 图书

    WHERE(ISBN =# ISBN)

    (6)修改书籍(updatebooks)

    UPDATE 图书(书名=#书名, 作者=#作者, 出版社=#出版社, 出版日期=

    #出版日期, 简介=#简介, 备注=#备注)

    WHERE(ISBN =# ISBN)

    6.2.10读者操作

    (1)注册(register)

    INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系,

    生效日期,失效日期,违章状况,累计借书,备注)

    VALUES(#读者学号,#读者姓名,#读者性别,#联系电话,#所在系,

    #生效日期,#失效日期,#违章状况,#累计借书,#备注)

    说明:在登记操作后,读者得到一个唯一的ID,可以根据这个ID来查询和修改自己的信息。

    (2)注销(unregister)

    DELETE 读者

    WHERE(读者学号=#读者学号)

    (3)修改个人信息(update)

    UPDATE 读者 Set(读者姓名=#读者姓名,联系电话=#联系电话,

    所在系=#所在系,生效日期=#生效日期,失效日期=#失效日期,

    违章状况=#违章状况,累计借书=#累计借书,备注=#备注)

    WHERE(读者学号=#读者学号)

    (4)查询(select)

       SELECT ISBN,书名,作者,出版社

    FROM图书

    WHERE ISBN=#ISBN OR书名=#书名

    6.2.11管理员对借阅关系的操作 

     (1) 插入读者的信息(insert)

        INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)

     VALUES(#工作号,#读者学号,#ISBN,#是否续借,#借书日期,

    #还书日期,#备注)

    (2) 更新信息(update)

    ①更新借出信息

    UPDATE借阅

    SET(借书日期=#借书日期,还书日期=借书日期+30,是否续借=0)

    WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN)

    UPDATE管理员_图书

    SET(是否在馆=0)

    WHERE(ISBN=#ISBN)

    UPDATA 学生

    SET (累积借书=累积借书+1)

    WHERE(读者学号=#读者学号)

    INSERT INTO管理员_学生(工作号,读者学号,确认借还,ISBN)

    VALUES(#工作号,#读者学号,”0”, #ISBN))

          ②更新续借信息

    UPDATE 借阅

    SET(是否续借=#是否续借)

    WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN =#ISBN)

           ③更新还书信息

    UPDATE管理员_图书

    SET(是否在馆=1)

    WHERE(ISBN=#ISBN)

    UPDATE管理员_学生

    SET(确认借还=”1”)

    WHERE(工作号=#工作号 AND 读者学号=#读者学号 AND ISBN=#ISBN)

    6.2.12触发器的建立

     (1)时间触发器:

     Create Trigger 时间

     On 借阅

     For update,insert,delete

     As

     while (select datename(weekday,getdate()))='星期天'

    begin

    print '时间错误'

    end

    (2)update触发器:

         Create Trigger 续借

        On 借阅

    for Update

    As

        If  Update(是否续借)

        begin

        Update 借阅

          Set 还书日期=还书日期+30

          Where 工作号=#工作号

        end   

    7、实验数据示例:测试阶段(代码调试)

    7.1 输入数据设计

    (1)插入管理员

     INSERT INTO 管理员(工作号,姓名,性别,电话,家庭住址,备注)

    VALUES(1001,'张三','男',02885965555,'成都市','呵呵')

    (2)插入读者

    INSERT INTO 读者(读者学号,读者姓名,读者性别,联系电话,所在系,

    生效日期,失效日期,违章状态,累计借书,备注)

    VALUES(20050222,'李瑞','男',02888994456,'环境','2007-05-06','2010-05-06','1',10,'哈')

     (3)插入图书

     INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)

    VALUES('730203009x','数据库原理教程','王珊','清华大学出版社','2006-05-05','数据库教程','哈')

    INSERT INTO 图书 (ISBN,书名,作者,出版社,出版日期,简介,备注)

    VALUES('7302030091','数据库教程','王书','清华大学出版社','2006-05-05','数据库教程','哈')

     (4)插入管理员_书籍表 

    INSERT INTO 管理员_书籍 (工作号,ISBN,添加时间,是否在馆)

    VALUES(1001,'730203009x','2007-7-7','0')

    INSERT INTO 管理员_书籍 (工作号,ISBN,添加时间,是否在馆)

    VALUES(1001,'7302030091','2007-7-8','1')

    (5) 插入借阅信息

    INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)

    VALUES(1001,20050222,'730203009x','0','2007-7-6','2007-8-6','哈')

    INSERT INTO 管理员_学生(工作号,读者学号,借还确认,ISBN)

    VALUES(1001,'20050222','0', '730203009x')

    7.2 完成借阅、续借、归还的操作设计

    假设读者想借书籍名为《数据库教程》且不知道ISBN

    (1)借阅操作如下:

    if((select 书名 from 图书 where ISBN='7302030091')= '数据库教程')

    begin

    INSERT INTO 借阅(工作号,读者学号,ISBN,是否续借,借书日期,还书日期,备注)

    VALUES(1001,20050222,'7302030091','0','2007-7-7','2007-8-7','哈')

    UPDATE 管理员_书籍

    SET 是否在馆='0'

    WHERE ISBN='7302030091'

    UPDATE 读者

    SET 累计借书=累计借书+1

    WHERE 读者学号=20050222

    INSERT INTO 管理员_学生(工作号,读者学号,借还确认,ISBN)

    VALUES(1001,20050222,'0','7302030091')

           print '借阅成功!'

       end

    else

       print '借阅失败!'

    (2)续借操作如下:

    if((SELECT 是否续借

       FROM 借阅

       WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN ='7302030091')='0')

    begin

    UPDATE 借阅

    SET 是否续借='1'

    WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN ='7302030091'

    print '续借成功!'

       end

    else

       print '续借失败!'

     (3)还书操作如下:

    If((SELECT 借还确认

     FROM 管理员_学生

     WHERE 工作号=1001 AND 读者学号=20050222 AND ISBN='7302030091')='0')

    BEGIN

    UPDATE 管理员_书籍

    SET 是否在馆='1'

    WHERE ISBN='7302030091'

    print '还书成功!'

        end

     else

     print '还书失败!'

    8、安全性设计

    后台数据库应安装在指定服务器上,用户只能通过登录软件访问数据库表中的数据。

    除上述方法外,不应提供用户其他访问数据库数据的直接或间接途径。

    9、数据库管理与维护说明

          对于本数据的管理与维护,例如数据库的备份与恢复,可以使用T-SQL的BACKUP DATABASE命令和RESTORE DATABASE命令[具体实用说明请参照SQL Server 2000联机丛书]或使用企业管理器中的“所有任务”→“备份数据库(B)”菜单项和或“还原数据库(R)”菜单项操作。

     

    展开全文
  • 教务管理系统 数据库设计

    千次下载 热门讨论 2011-12-25 21:52:54
    数据库原理课,设计了一个高校教务管理系统数据库,word文档,包括需求分析,ER图,具体的代码设计,SQL语句的数据库查询,创建视图
  • 论坛管理系统数据库设计

    千次阅读 多人点赞 2018-11-02 17:57:38
    论坛管理系统数据库设计数据库数据表设计索引设计视图设计触发器 数据库 create database bbs; use bbs; 数据表 create table user( uID INT PRIMARY KEY UNIQUE NOT NULL, userName VARCHAR(20) NOT NULL, user...

    数据库

    数据库与数据表

    create database bbs;
    use bbs;
    

    数据表

    user

    create table user(
    uID INT PRIMARY KEY UNIQUE NOT NULL,
    userName VARCHAR(20)  NOT NULL,
    userPassword VARCHAR(20)  NOT NULL,
    userEmail VARCHAR(10)  NOT NULL,
    userBirthday DATE  NOT NULL,
    userSex BIT  NOT NULL,
    userClass INT  NOT NULL,
    userStatement VARCHAR(150)  NOT NULL,
    userRegDate TIMESTAMP  NOT NULL,
    userPoint INT  NOT NULL
    );
    

    admin

    create table admin(
    adminID INT PRIMARY KEY UNIQUE NOT NULL,
    adminName VARCHAR(20)  NOT NULL,
    adminPassword VARCHAR(20)  NOT NULL
    );
    

    section

    create table section(
    sID INT PRIMARY KEY UNIQUE NOT NULL,
    sName VARCHAR(20)  NOT NULL,
    sMasterID INT  NOT NULL,
    sStatement VARCHAR(150)  NOT NULL,
    sClickCount INT  NOT NULL,
    sTopicCount INT  NOT NULL
    );
    

    topic

    create table topic(
    tID INT PRIMARY KEY UNIQUE NOT NULL,
    sID INT  NOT NULL,
    uID INT  NOT NULL,
    tReplyCount INT  NOT NULL,
    tEmotion VARCHAR(20)  NOT NULL,
    tTopic VARCHAR(20)  NOT NULL,
    tContents TEXT  NOT NULL,
    tTime TIMESTAMP  NOT NULL,
    tClickCount INT  NOT NULL,
    tLastClickT TIMESTAMP  NOT NULL
    );
    

    reply

    create table reply(
    rID INT PRIMARY KEY UNIQUE NOT NULL,
    tID INT  NOT NULL,
    uID INT  NOT NULL,
    rEmotion VARCHAR(20)  NOT NULL,
    rToptic VARCHAR(20)  NOT NULL,
    rContents TEXT  NOT NULL,
    rTime TIMESTAMP  NOT NULL,
    rClickCount INT  NOT NULL
    );
    

    注:
    MySQL不允许在BLOB/TEXT,TINYBLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, MEDIUMTEXT, LONGTEXT,VARCHAR建索引,因为前面那些列类型都是可变长的,MySQL无法保证列的唯一性,只能在BLOB/TEXT前n个字节上建索引

    设计索引

    索引

    create index index_topic_topic on topic(tTopic);
    create index index_topic_time on topic(tTime);
    create index index_topic_contents on topic(tContents);
    alter table topic add index index_topic_contents (tContents);
    create index index_section_name on section(sName);
    create index index_reply_time on reply(rTime);
    create index index_reply_topic on reply(rTopic);
    create index index_reply_id on reply(rID);
    

    设计视图

    #展示版块及版块下面的主贴			
    create view topic_view			
    as select s.sID,s.sName,t.tTopic,t.tContents,t.tTime			
    from section s,topic t			
    where s.sID=t.sID;	
    

    设计触发器

    #新增版块后,更新主题数			
    delimiter &&			
    create trigger section_count after insert			
    on section for each row			
    begin			
        update section set sTopicCount = sTopicCount+1 where sID=new.sID;			
    end			
    &&			
    delimiter ;			
    			
    #user表中的uID更新,同时更新reply中的uID			
    delimiter &&			
    create trigger update_uID after update			
    on user for each row			
    begin			
        update reply set uID=new.userID;			
    end			
    &&			
    delimiter ;			
    			
    
    展开全文
  • 数据库课程设计:建材物资管理系统数据库课程设计 ** 一.课设简述 ** 本次设计基于大二学习的数据库原理这门课程,选择了建材物资管理系统这个课设题目,在查阅了相关资料后,设计了集进货商家信息,进货报表到物资...

    数据库课程设计:建材物资管理系统数据库课程设计

    **

    一.课设简述

    **
    本次设计基于大二学习的数据库原理这门课程,选择了建材物资管理系统这个课设题目,在查阅了相关资料后,设计了集进货商家信息,进货报表到物资在仓库中的各属性具体说明,销售时的销售信息表和员工信息于一体的数据库系统,设置外键使各个表相连,更直观的展现之间的关系。同时,进行了查询,增加数据,建立视图等功能的实现。

    二.需求分析:
    建材物资管理系统主要用于建材仓库对施工材料信息的管理,将计算机引入到物资仓库管理系统当中,利用计算机支持仓库高效完成劳动人事管理的日常事务,是适应现代企业制度的要求,推动企业管理走向科学化,规范化的必要条件。物资管理是一项琐碎,复杂而又十分细致的工作,核算工作量很大,不允许出错,实行电子化管理模式,可以减轻比较繁琐的手工仓库管理,更加针对性,便捷性,可视化管理货物。

    三.数据流图:
    在数据库系统中,可以清晰地了解到任何一件物资从哪位进货商进货,储存在哪个仓库,以及对应的商品信息,到通过哪位员工销售的整个商业流程。

    各个供需模块之间的联系
    四.ER图
    在数据库中建立5张表,对应整个系统的五个环节,每张表中的具体名称如下:
    在这里插入图片描述
    五.数据库设计与实现:
    1.基本表的定义与实现:
    采用采用management studio进行建表,把相应的数据信息录入到表中。
    ①供应商家信息表的建立与实现,数据名称与类型配置截图如下:在这里插入图片描述
    ②物资进货表的建立与实现:
    在这里插入图片描述
    ③物资仓库表的建立与实现:
    在这里插入图片描述
    ④员工信息表的建立与实现:
    在这里插入图片描述
    ⑤销售信息表的建立与实现:
    在这里插入图片描述

    2.在建表结束后,我们进行部分简单功能的实现(详细功能请私信)
    ①视图:
    建立1仓库所存放物资的库存数量不少于20的视图s2:
    代码如下:

    create view s2
    as
       select *
       from 物资仓库表 
       where 库存数量>=20;
    

    运行结果见如下:
    在这里插入图片描述
    ②查询:
    查询库存量超过该仓库物资平均库存量的物资编号、名称、规格及数量:
    代码如下:

     select 物资编号,物资名称,规格,库存数量
    from 物资仓库表 s1
    where 库存数量 > (select avg(库存数量) from 物资仓库表 s2
               where s1.仓库名称 = s2.仓库名称 ); 
    

    运行结果如下:
    在这里插入图片描述

    ③存储过程:
    存储过程的定义与实现:
    创建一个带默认输入参数的存储过程exp2(物资编号默认值为’%002%’),通过传递的参数查询对应的物资编号的规格及进货单号:

    代码如下:

    create procedure exp2
       @物资编号 char(8) = '%002%'
    as
       select 物资仓库表.物资编号,规格,进货单号
       from 物资仓库表,物资进货表
       where 物资仓库表.物资编号 = 物资进货表.物资编号
      
      and 物资仓库表.物资编号 like @物资编号
       go
    

    运行结果如下:
    在这里插入图片描述
    ④ 触发器:
    触发器的定义与实现:
    创建一个INSERT触发器tr1,在对物资进货表插入一条记录后,更改对应物资在物资仓库表中的库存数量,完成级联更改操作:
    代码如下:

    
    create trigger tr1
    on 物资进货表
    after insert
    as
         declare @物资编号 char(8),@进货数量 int
    	 select @物资编号 = 物资编号,@进货数量 = 进货数量 from inserted
    	update 物资仓库表
    	set 库存数量 = 库存数量 + @进货数量
    	where 物资编号 = @物资编号
    	go
    

    运行结果如下:在这里插入图片描述
    ⑤数据更新(插入):
    将新的仓库物资(物资编号:005;物资名称:五金器件;规格:F-100;仓库名称:2仓;库存数量:50;单价:16;供应商家编号:111)插入物资仓库表中:
    代码如下:

    insert
    into 物资仓库表(物资编号,物资名称,规格,仓库名称,库存数量,单价,供应商编号)
    values('005','五金器件','F-100','2仓','50','16','111');
    

    运行结果如下:
    在这里插入图片描述
    ⑥索引与用户定义及权限设置

    ---------------------------分割线---------------------------
    本次课程设计部分重点设计就是这样啦~
    如果对你有帮助的话请点一赞!嘿嘿~
    欢迎大家评论交流!
    如若需要完整的数据库文件欢迎大家私信或者加q:280542622,创作不易,需要一点赏钱(嘻嘻),另赠送详细报告一份(个人觉得我这报告写得相当好)!
    祝大家学业有成!

    展开全文
  • SQLserver网吧管理系统数据库

    千次阅读 多人点赞 2019-05-18 22:45:36
    SQLserver网吧管理系统数据库代码 花了不少时间做,拿走的话吱一声吧~ 如果这篇博客对你有帮助的话,欢迎来我的B站空间给视频点个赞支持下博主: https://space.bilibili.com/38571437 create database NetBarDB go ...

    SQLserver网吧管理系统数据库代码
    花了不少时间做,拿走的话吱一声吧~
    如果这篇博客对你有帮助的话,欢迎来我的B站空间给视频点个赞支持下博主:
    https://space.bilibili.com/38571437

    在这里插入图片描述

    create database NetBarDB
    go
    use NetBarDB
    create table PCInfo
    (
    	PCId int identity primary key,--计算机编号,主键,自动增长。
    	PCUse int default 0 check (PCUse=0 or PCuse=1),--计算机是否使用,0表示正常,1表示正在使用,不能插入其他值。默认为0。非空
    	PCNote varchar(30) default '这台机器不错',--计算机的描述,默认‘这台机器不错’。
    )
    
    create table cardInfo
    (
    	cardId int identity primary key,--会员卡编号,主键,自动增长。
    	cardNumber varchar(20) not null UNIQUE,--会员号,系统中不能出现重复的会员号。非空
    	cardPassword varchar(20) NOT NULL CHECK(LEN(cardPassword)>=6),--会员密码,密码必须大于或等于6位。非空。
    	cardBalance INT NOT NULL DEFAULT 50,--卡上的余额,在办卡时,需充值50元。非空。
    	transactTime DATETIME NOT NULL default getdate() --办卡的时间,默认为当前时间。非空。
    )
    
    create table recordInfo
    (
    	recordId int identity primary key,--记录编号,主键,自动增长。。
    	cardId int not null FOREIGN KEY REFERENCES cardInfo(cardID),--会员卡编号,外键引用cardInfo的cardInfo。非空。
    	PCId INT FOREIGN KEY REFERENCES PCInfo(PCID),--计算机编号,外键引用PCInfo的PCId。非空。
    	beginTime DATETIME DEFAULT GETDATE(), --开始(上机)时间。默认为当前时间。
    	endTime DATETIME,--结束(下机)时间。上机时间应该小于下机时间
    	free INT CHECK(FREE>=0)--上机费用,费用必须大于或等于0。
    )
    ALTER TABLE recordInfo
    	ADD CONSTRAINT CK_recordInfo_endTime CHECK(beginTime<endtime)
    
    INSERT INTO cardInfo
    	SELECT '023-001','123456',50,'2009-05-11 10:00:00.000' UNION ALL
    	SELECT '023-002','123456',50,'2009-05-12 10:00:00.000' UNION ALL
    	SELECT '023-003','123456',50,'2009-05-13 10:00:00.000' UNION ALL
    	SELECT '023-004','123456',50,'2009-05-14 10:00:00.000';
    	
    --1、 插入计算机信息并查询所有计算机信息如图所示。
    INSERT INTO PCInfo
    	SELECT 0,'左边第一台' UNION ALL
    	SELECT 0,'左边第二台' UNION ALL
    	SELECT 0,'左边第三台' UNION ALL
    	SELECT 0,'左边第四台' UNION ALL
    	SELECT 0,'这台机器不错'; 
    	
    --2、 将4号会员密码修改为‘000001’,使用update语句
    update cardInfo set cardPassword='000001' WHERE cardId=4
    --3、 为4号会员冲值20元,并查询余额。 
    --充值时,需将会员的余额修改为:原有余额+充值金额。
    update cardInfo set cardBalance=CardBalance+20 where cardId=4 
    
    --实现:上机,换机,下机功能。
    --1、 实现4号会员在1号计算机上机。
    --(1) 验证会员号或密码是否正确。(根据会员号和密码查询)。
    SELECT cardPassword FROM cardInfo WHERE cardId=4
    --(2) 查询4号会员的余额是否大于0。(查询会员余额)。
    SELECT cardBalance FROM cardInfo WHERE cardId=4
    --(3) 查询4号会员卡是否在上机(查询记录表中卡号等于4且下机时间为空的记录)。
    SELECT * FROM recordInfo WHERE cardId=4 and endTime=0
    --(4) 查询1号机器是否为空闲。(查询计算机状态)。
    SELECT PCUse FROM PCInfo WHERE PCId=1
    --(5) 修改1号机器为使用状态。(修改计算机状态为1)。
    UPDATE PCInfo SET PCUse=1 WHERE PCId=1
    --(6) 插入上机记录。(SQL语句如下)。
    insert into recordInfo values(4,1,'2009-05-20 08:00:00.000',null,0)
    --说明:插入上机记录时,下机时间为空,上机费用为0,效果如图6所示。
    
    --2、 实现其他会员的上机
    --(1) 实现2号会员在2号计算机上机
    UPDATE PCInfo SET PCUse=1 WHERE PCId=2
    insert into recordInfo values(2,2,'2009-05-20 09:00:00.000',null,0)
    --(2) 实现3号会员在3号计算机上机
    UPDATE PCInfo SET PCUse=1 WHERE PCId=3
    insert into recordInfo values(3,3,'2009-05-20 10:00:00.000',null,0)
    
    --3、 将4号会员从1号计算机换到4号计算机
    --(1) 判断4号计算机的状态。
    select PCUse FROM PCInfo WHERE PCId=4
    --(2) 修改1号计算机状态(将1号计算机改为空闲)。
    UPDATE PCInfo SET PCUse=0 WHERE PCId=1
    --(3) 修改4号计算机状态(将4号计算机改为使用)。
    UPDATE PCInfo SET PCUse=1 WHERE PCId=4
    --(4) 修改计算机编号为4且下机时间为空的上机记录(SQL语句如下)。
    update recordInfo set PCId=4 where PCId=1 and endTime is null
    
    
    --4、 4号计算机下机
    --(1) 得到上机记录
    select * from recordInfo where PCId= 4 and endTime iS null
    --(2) 修改机器状态(将4号机器的状态修改为空闲)。
    UPDATE PCInfo SET PCUse=0 WHERE PCId=4
    --(3) 修改下机时间(修改第二步得到的记录的下机时间)。
    update recordInfo set endTime = '2009-05-20 10:00:00' where recordId=1
    --(4) 计算上机费用,上机费用=上机时间*2 
    UPDATE recordInfo set free=(datediff(hh,beginTime,endTime))*2 where recordId =1
    --(5) 修改记录表的上机费用。
    UPDATE recordInfo set free=(datediff(hh,beginTime,endTime))*2 where recordId =1
    --(6) 扣除上机费用。
    UPDATE cardInfo set cardBalance = cardBalance-4 from cardInfo where cardId=4
    
    
    
    --1、 统计记录信息(要求按记录编号降序排列)
    --所有上机记录
    select recordId '记录编号' ,cardNumber  '卡号' ,a.PCId '机器编号',a.beginTime '上机时间', a.endTime '下机时间' ,a.free as '上机费用' from recordInfo as a join cardInfo as b on a.cardId =b.cardId
    join PCInfo as c on c.PCId = a.PCId order by a.recordID desc
    
    --Ø 所有正在上机的记录
    select *from recordInfo where endTime is null order by recordID desc 
    --Ø 所有已下机的记录 
    select *from recordInfo where endTime is not null order by recordID desc 
    
    --2、 收入统计
    --上机总费用 
    SELECT sum(free) AS '上机总费用' FROM recordInfo
    --单次上机最大金额
    select MAX(free) AS '单次上机最大金额' from recordInfo
    
    --3、 会员统计
    --所有会员信息(按余额,升序排列)
    select* from cardInfo order by cardBalance asc
    --余额总数
    select sum(cardBalance) from cardInfo
    --欠费会员详细信息以及最后一次上机信息
    select * from cardInfo where cardBalance<0
    select top 1 *from recordInfo order by recordId desc
    --4、 计算机信息统计
    --当前空闲计算机
    select * from PCInfo where PCUse=0
    --使用次数最多的计算机 (使用count函数)
    select TOP 1 PCId from recordInfo GROUP BY PCId ORDER BY COUNT(1) DESC
    select COUNT(PCId),PCId from recordInfo GROUP BY PCId
    
    
    --实现:导出脚本,分离数据库,关闭工具。
    
    
    select*from PCInfo
    select*from cardInfo
    select*from recordInfo
    
    
    展开全文
  • 老师让设计个人事管理系统数据库,用J2EE和My SQL 做,交代码,有经验的大神求救呀,最好有步骤。没学过学了数据库,没设计过,不会J2EE![图片说明]...
  • 学生成绩管理系统数据库设计--MySQL

    万次阅读 多人点赞 2020-06-18 13:02:04
    MySQL/SQL Server 数据库设计(学生成绩管理系统) 设计大纲 1. 项目背景及需求分析 1.1 项目背景 1.2 需求分析 1.2.1 信息需求 1.2.2 功能需求 1.2.3 安全性与完整性需求 2. 概念结构设计 2.1 抽象出系统实体 2.2 ...
  • 学生信息管理系统数据库课程设计

    万次阅读 多人点赞 2018-06-12 14:48:25
    概述学生信息管理系统是学校管理的重要工具,是学校不可或缺的一部分。随着在校人数的不断增加,教务系统的数量也不断的上涨。学校工作繁杂,资料众多,人工管理信息的难度也越来越大,显然是不能满足实际的需要,...
  • 火车站寄存管理系统数据库课程设计 和图书馆管理系统类似吧 怎么 做啊 真心不会啊
  • --图书管理系统数据库的创建,插入数据--创建数据库CREATE DATABASE BOOKSDBUSE BOOKSDB--创建表CREATE TABLE ReaderType( rdType INT PRIMARY KEY, rdTypeName VARCHAR(20), canLendQty INT, canLendDay INT )...
  • C# 学生简单管理系统 数据库 1.0版本

    千次阅读 多人点赞 2020-01-01 09:59:22
    临近放假数据库实习,老师让做一个学生管理系统,时间匆忙就给了一天时间。所以就单单做了查询,添加,修改,删除四个功能,设计还是很low,勉勉强强应付了事,今天和大家分享一下。 思路 笔者想做一个可视化的窗体...
  • 高校教材管理系统 数据库

    千次阅读 2020-01-11 12:27:27
    前端 jsp 后端j ava,ssh 数据库 mysql 本章只介绍管理员模块,附上图 管理员订购模块 管理员查看订单详情 统计模块
  • 仓库管理系统数据库设计

    千次阅读 2019-06-28 13:54:21
    在网上找不到相关的实践设计,于是自己做了一个,希望能对开始学数据库的同学们提供一点帮助。 首先是建立数据库,网上有很多建立数据库的内容这里就不赘述了,再就是建立数据表,首先选择在哪个数据库建立数据表,...
  • 医院管理系统数据库设计

    万次阅读 2008-10-01 14:17:00
    医院管理系统数据库设计数据库名:hisdb一基本信息表1.科室表(keshi)字段名中文名类型能否为空备注ID科室编号IntN主键,自增Name科室名称VarcharN Fee挂号费NumbericN 
  • 仿当当网书店管理系统数据库的设计与实现 要求: 1.数据库各数据对象的设计与实现:表、约束、完整性体现、查询、视图,要求用合理的数据体现。 2.文档:二人的完成过程,包括各自思考的内容,二人的讨论记录,...
  • 图书管理系统数据库设计实验报告

    万次阅读 多人点赞 2018-01-16 09:28:00
    图书管理系统设计实验报告 PB15051157 茹思淞 一、实验题目及其要求 编写一个图书管理系统,要求具有以下内容: 1)存储图书信息、采购和淘汰情况、租借情况 2)实现图书采购、淘汰...
  • 简单权限管理系统数据库设计

    千次阅读 2019-07-08 21:08:59
    权限管理系统: 简单一句话:who—谁----user表,what—在某领域—menu表,how—能干啥—role表 见图: 权限具有上下级关系,是一个树状的结构。下面来看一个例子 系统管理 用户管理 查看用户 ...
  • 学生选课管理系统 数据库课程设计

    千次阅读 热门讨论 2019-08-05 19:12:22
    ***主要能实现以下几个功能,不同的用户需要不同的登陆端来实现...本系统是基于Java开发的,以SQL Sever 作为数据库开发工具 Eclipse作为Java前端的开发工具 是自己做的课程设计 实现结果 代码: https://downloa...
  • 电影院票务管理系统数据库设计

    万次阅读 多人点赞 2018-03-08 23:10:00
    这两天听到一道面试题:设计一个电影院票务管理系统的表结构。挺有意思的,我自己也试着做了一做,感觉还是有不少收获的。在本文中我想把做这道题的整个思路重新理一下,也算做个整理了。 现在能得到的需求只有一个...
  • 权限管理系统数据库设计

    千次阅读 2017-01-11 15:36:45
    一,前言 权限管理系统的应用者应该有三种不同性质上的使用, A,使用权限 B,分配权限 C,授权权限  本文只从《使用权限》和《分配权限》这两种应用层面分析,暂时不考虑《授权权限》这种。 二,初步分析用户和...
  • 学生成绩管理系统数据库设计

    万次阅读 多人点赞 2016-03-26 18:22:47
    数据库中用到的表: 数据库表名 关系模式名称 备注 Student 学生 学生信息表 Course 课程 课程信息表 Score 成绩 成绩表  ...
  • 酒店管理系统数据库设计说明书

    万次阅读 2017-12-06 11:18:40
    本文档为**酒店管理系统需求分析报告,为**酒店管理系统的设计的主要依据,主要针对**酒店管理系统的概要设计和详细设计人员,作为项目验收的主要依据。 1.2背景 本软件全称为**酒店管理系统。 软件适用于普通二...
  • 销售管理系统数据库设计说明书

    千次阅读 2014-11-12 16:58:32
    本文档为北大青鸟ACCP软件工程师培训无锡培训中心 SI50B 班学员,第一学期毕业设计项目(《销售管理系统》)的数据库设计说明书,具体描述《销售管理系统》的数据库的设计,用于指导该系统在数据库存储各方面的内容...
  • 报刊订阅管理系统数据库

    千次阅读 2014-06-12 13:49:48
     附录3 课程设计报告书写格式要求  ...本系统主要有以下功能模块:  (1)登陆功能:登陆系统为身份验证登录。分为管理员登录和一般用户登录。分别通过不同的用户名和密码进入报刊订阅管理界面,新的
  • ASP.NET MVC CODEFIRST 图书管理系统 本项目最后更新于2018-7-4,可能会因为没有更新而失效。如已失效或需要修正,请提issue! 我使用VS2017进行开发,框架是.NET4.5 数据库部分使用了 Entity Framework 的 Code ...
  • 最近在工作中接触到权限管理的设计,于是,自己在网上查阅了部分资料,再加上自己的一些思考,构思了一个简单的权限管理系统数据库设计。 RBAC与Tag 说到权限管理,一般都会想到基于角色的访问控制(Role-...
  • 用户权限管理系统数据库设计UML

    千次阅读 2019-05-30 16:02:26
    建表语句: https://pan.baidu.com/s/10rswkItk6cKq4ben361AJg 密码 :gdld

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 114,795
精华内容 45,918
关键字:

管理系统数据库