Mysql之图书发行数据库应用系统:实验一

本文详细介绍了如何使用MySQL创建一个图书发行数据库,包括数据库结构设计、表的创建、主键约束、索引和视图的构建,以及如何向数据库中输入数据。通过实践操作,提升数据库管理和查询能力。
摘要由CSDN通过智能技术生成

目录


前言

在数字化时代,数据库应用系统的构建与运用显得尤为重要。今天,我将为大家介绍一个简单的基于MySQL的图书发行数据库应用系统。该系统旨在通过高效的数据管理,为图书发行行业提供强大的数据支持,实现信息的快速查询、统计与分析,从而提升业务效率和用户体验。


正文

题目

构建图书发行数据库应用系统,处理书店(S)向图书馆(L)发行(LBS)图书(B),S﹑L﹑LBS﹑B的数据见附表。

实验目的

要求学生熟练掌握和使用mysql创建数据库﹑基本表﹑视图﹑索引和修改表结构,及向数据库输入数据的操作;学会创建和使用表的主码、外码和约束。

实验要求

本实验针对上述两个题目分别完成以下相应任务:

1﹑创建相应的数据库和查看数据库属性;

2﹑创建基本表﹑确定表的主码和相应的约束,为主码建索引;

3﹑创建﹑查看视图;

4﹑数据库输入数据。

实验内容及步骤

创建相应的数据库和查看数据库属性

CREATE DATABASE BookDistribution;
USE BookDistribution;
show databases;

结果如下
 

创建基本表﹑确定表的主码和相应的约束,为主码建索引

一共只有四个表,分别为图书馆表L,图书表B,书店表S以及图书发行表LBS
创建图书馆表如下:

CREATE TABLE L (
    LNO  varchar(5)  PRIMARY KEY COMMENT '图书馆编号',
    LName VARCHAR(100) NOT NULL COMMENT '图书馆名',
    CITY VARCHAR(255) COMMENT '城市',
    TEL varchar(10)
)COMMENT '图书馆';

创建图书表:

-- 图书表
CREATE TABLE B (
    BNO varchar(5)  PRIMARY KEY COMMENT '图书编号' ,
    BNAME VARCHAR(100) NOT NULL COMMENT '图书名',
    PRICE float COMMENT '价格'
)COMMENT '图书';

创建书店表:

-- 图书表
CREATE TABLE B (
    BNO varchar(5)  PRIMARY KEY COMMENT '图书编号' ,
    BNAME VARCHAR(100) NOT NULL COMMENT '图书名',
    PRICE int COMMENT '价格'
)COMMENT '图书';
-- 书店表
CREATE TABLE S (
    SNO   varchar(5)  PRIMARY KEY COMMENT '书店编号',
    SNAME VARCHAR(100) NOT NULL COMMENT '书店名',
    Address VARCHAR(255) COMMENT '地址'
)COMMENT '书店';

创建图书发行表:

-- 创建图书发行表
CREATE TABLE LBS (
    LNO varchar(5) COMMENT '图书馆编号',
    BNO varchar(5) COMMENT '图书编号',
    SNO varchar(5) COMMENT '书店编号',
    QTY int
)COMMENT '图书发行';

 在SQL中,当你为表定义一个主码(Primary Key)时,数据库系统会自动为这个主码字段创建一个唯一索引(Unique Index),以确保主码字段的值在整个表中是唯一的,并且提供快速的查找能力。因此,从技术上讲,当你为表定义主码时,你其实已经为该字段创建了一个索引。
所以这里不再为主码插入引索。
sql插入引索方法:

单列引索:CREATE INDEX idx_username ON users(username);
多列引索:CREATE INDEX idx_fullname ON users(first_name, last_name);
唯一引索:CREATE UNIQUE INDEX idx_unique_email ON users(email);

创建﹑查看视图

创建视图以及查询代码如下

-- 创建视图
CREATE VIEW LibraryWithBooks AS
SELECT L.LNO, S.SNO, B.BNO
FROM LBS
JOIN L ON LBS.LNO = L.LNO
JOIN B ON LBS.BNO = B.BNO
JOIN S ON LBS.SNO = S.SNO;
-- 查看视图结构
DESCRIBE LibraryWithBooks;
-- 查询视图数据
SELECT * FROM LibraryWithBooks;

数据库输入数据

只需要一次输入各个表数据即可,这里我们全部直接给出

-- 插入数据
INSERT INTO s (SNO, SNAME,Address) VALUES
('S1', '北京新华书店', '北京'),
('S2', '上海新华书店', '上海'),
('S3', '上海外文书店', '上海'),
('S4', '湖北新华书店', '武汉'),
('S5', '江苏新华书店', '南京');
select * from s;

INSERT INTO b (BNO, BNAME,PRICE) VALUES
('B1','数据库原理',' 9.80'),
('B2', '系统分析与设计','	8.50'),
('B3', '数据库设计','	7.10'),
('B4', '计算机原理','	9.60'),
('B5', '操作系统','	11.20');
select *from B;

INSERT INTO l (LNO, LNAME, CITY, TEL) VALUES
('L1', '上海图书馆', '上海', '205800'),
('L2', '上海外文书店', '上海', '310310'),
('L3', '北京图书馆', '北京', '282471'),
('L4', '武汉图书馆', '武汉', '812712'),
('L5', '南京图书馆', '南京', '328173');
select *from L;

INSERT INTO lbs (LNO, BNO, SNO, QTY) VALUES
('L1', 'B1', 'S2', 10),
('L1', 'B2', 'S1', 5),
('L1', 'B3', 'S3', 5),
('L1', 'B4', 'S5', 20),
('L2', 'B1', 'S3', 10),
('L2', 'B4', 'S5', 20),
('L2', 'B5', 'S4', 15),
('L4', 'B4', 'S4', 20),
('L4', 'B5', 'S4', 30),
('L5', 'B1', 'S2', 10),
('L5', 'B2', 'S5', 20),
('L5', 'B4', 'S5', 30);
select *from lbs;


代码

CREATE DATABASE BookDistribution;
USE BookDistribution;
show databases;
-- 图书馆表
CREATE TABLE L (
    LNO  varchar(5)  PRIMARY KEY COMMENT '图书馆编号',
    LName VARCHAR(100) NOT NULL COMMENT '图书馆名',
    CITY VARCHAR(255) COMMENT '城市',
    TEL varchar(10)
)COMMENT '图书馆';
-- 图书表
CREATE TABLE B (
    BNO varchar(5)  PRIMARY KEY COMMENT '图书编号' ,
    BNAME VARCHAR(100) NOT NULL COMMENT '图书名',
    PRICE float COMMENT '价格'
)COMMENT '图书';
-- 书店表
CREATE TABLE S (
    SNO   varchar(5)  PRIMARY KEY COMMENT '书店编号',
    SNAME VARCHAR(100) NOT NULL COMMENT '书店名',
    Address VARCHAR(255) COMMENT '地址'
)COMMENT '书店';
-- 创建图书发行表
CREATE TABLE LBS (
    LNO varchar(5) COMMENT '图书馆编号',
    BNO varchar(5) COMMENT '图书编号',
    SNO varchar(5) COMMENT '书店编号',
    QTY int
)COMMENT '图书发行';


-- 创建视图
CREATE VIEW LibraryWithBooks AS
SELECT L.LNO, S.SNO, B.BNO
FROM LBS
JOIN L ON LBS.LNO = L.LNO
JOIN B ON LBS.BNO = B.BNO
JOIN S ON LBS.SNO = S.SNO;
-- 查看视图结构
DESCRIBE LibraryWithBooks;
-- 查询视图数据
SELECT * FROM LibraryWithBooks;

-- 插入数据
INSERT INTO s (SNO, SNAME,Address) VALUES
('S1', '北京新华书店', '北京'),
('S2', '上海新华书店', '上海'),
('S3', '上海外文书店', '上海'),
('S4', '湖北新华书店', '武汉'),
('S5', '江苏新华书店', '南京');
select * from s;

INSERT INTO b (BNO, BNAME,PRICE) VALUES
('B1','数据库原理',' 9.80'),
('B2', '系统分析与设计','	8.50'),
('B3', '数据库设计','	7.10'),
('B4', '计算机原理','	9.60'),
('B5', '操作系统','	11.20');
select *from B;


INSERT INTO l (LNO, LNAME, CITY, TEL) VALUES
('L1', '上海图书馆', '上海', '205800'),
('L2', '上海外文书店', '上海', '310310'),
('L3', '北京图书馆', '北京', '282471'),
('L4', '武汉图书馆', '武汉', '812712'),
('L5', '南京图书馆', '南京', '328173');
select *from L;

INSERT INTO lbs (LNO, BNO, SNO, QTY) VALUES
('L1', 'B1', 'S2', 10),
('L1', 'B2', 'S1', 5),
('L1', 'B3', 'S3', 5),
('L1', 'B4', 'S5', 20),
('L2', 'B1', 'S3', 10),
('L2', 'B4', 'S5', 20),
('L2', 'B5', 'S4', 15),
('L4', 'B4', 'S4', 20),
('L4', 'B5', 'S4', 30),
('L5', 'B1', 'S2', 10),
('L5', 'B2', 'S5', 20),
('L5', 'B4', 'S5', 30);
select *from lbs;

附表:

图书馆  L.DBF

LNO

LNAME

CITY

TEL

L1

上海图书馆

上海

205800

L2

   上海外文书店

上海

310310

L3

北京图书馆

北京

282471

L4

武汉图书馆

武汉

812712

L5

南京图书馆

南京

328173

图书  B.DBF

BNO

BNAME

PRICE

B1

数据库原理

9.80

B2

系统分析与设计

8.50

B3

数据库设计

7.10

B4

计算机原理

9.60

B5

操作系统

11.20

书店  S.DBF

SNO

SNAME

ADDRESS

S1

北京新华书店

北京

S2

上海新华书店

上海

S3

上海外文书店

上海

S4

湖北新华书店

武汉

S5

江苏新华书店

南京

图书发行  LBS.DBF

LNO

BNO

SNO

QTY

L1

B1

S2

10

L1

B2

S1

5

L1

B3

S3

5

L1

B4

S5

20

L2

B1

S3

10

L2

B4

S5

20

L2

B5

S4

15

L4

B4

S4

20

L4

B5

S4

30

L5

B1

S2

10

L5

B2

S5

20

L5

B4

S5

30


总结

本文先简单介绍了数据库的构建,包括数据库,表以及视图的实现,并把数据导入,了解了基础的mysql的操作方法。接下来,会继续完成该数据库系统的相应的实验任务。
 

推荐学习博客 https://xxetb.xetslk.com/s/4GgGz6

  • 23
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
山东理工大学计算机学院 课 程 设 计 (数据库系统原理) 网上书店管理信息系统 "班 级 " " "姓 名 " " "学 号 " " "指导教师 " " 二 一一年一月十三日 课程设计任务书及成绩评定 "课题名称 "网上书店管理信息系统 " 、题目的目的和要求 通过数据库系统原理课程设计的操作与实践,使学生了解关系数据库的相关理论知 识和有关工具软件的使用技巧,在一定程度上提高应用程序的综合开发能力和创新意识 、创新能力,具体掌握的基本能力有以下几方面: 1、学习和巩固《数据库系统原理》的基本知识。 2、关系数据库管理系统的基本使用方法。 3、熟悉SQL语言的主要功能及SQL语句的使用操作。 4、熟悉数据库管理系统的设计过程,培养解决实际问题的能力。 5、小型数据库应用系统的设计方法。 要求独立完成该课题设计。 、设计进度及完成情况 "日 期 "内 容 " "2011.1.4 "对系统进行总体分析与设计 " "2011.1.5 "进行总体系统概括描述分析 " "2011.1.6 "系统性能分析 " "2011.1.7 "逻辑结构设计,画出E-R图并转化为关系模式图 " "2011.1.8 "数据字典与相关数据定义 " "2011.1.9 "编写各个功能模块代码与总代码 " "2011.1.10 "代码测试与修改 " "2011.1.11 "系统各部分功能实现 " "2011.1.12 "整理文档与封面设计 " 、主要参考文献及资料 [1]王珊,萨师煊主编.数据库系统概论(第四版).北京:高等教育出版社,2006.5 [2]何志丹 著 深入浅出 Visual c++入门、进阶与应用实例 人民邮电出版社 [3] 维埃拉 著,董明 译 SQL Server 2005 高级程序设计 人民邮电出版社 [4] 李俊民著 精通 SQL——结构化查询语言详解 人民邮电出版社 学科部主任___________ 、成绩评定 设计成绩: 指导老师: 二 一一年 月 日 目 录 第一章 系统概述…………………………………………………2 第二章 系统分析…………………………………………………2 第三章 功能分析…………………………………………………7 第四章 系统实现…………………………………………………8 第五章 调试过程中的问题及系统测试情况……………………15 第六章 结束语……………………………………………………20 第一章 概述 目前社会上信息管理系统发展飞速,越来越多的企事业单位都引入了信息管理软件来 管理自己日益增长的各种信息。各种网店也相继采用了不同的管理系统来管理商品信息 ,取得了很大的成效,网上书店管理系统也在功能上不但完善和加强,为了使书店管理 更 加规范化,程序化,科学化,我们研发了这次的网上书店管理系统。 本系统的功能是为管理者提供方便的管理、为顾客提供快捷的购买。系统的主要子模 块有图书管理,顾客管理等,可实现日常图书进货、发货业务,最终达到提高工作效率 的目的。顾客可以进入图书查询界面通过图书类别、图书名称、图书编号、折扣额度等 四种方式查询图书,查到满意的图书后可点击购买。管理者可以通过登录管理界面实现 对图书的添加、修改、删除操作以及发货和查看顾客信息, 管理员可以维护客户注册信息、维护图书信息、处订定单信息、维护系统公告、网上售 书。 第二章 系统分析 §2.1需求分析 2.1.1系统需求 书店管理系统需要满足来自三个方面需求:第一,书店工作人员通过计算机来管理各 类图书,进行图书分类编号,调整图书结构,增加图书库存,适应读者的需求。第二, 工作人员对读者的需求情况能作好全面的掌握,及时得到历史销售记录。第三,也是书 店的核心工作,对图书的销售管理。 2.1.1功能需求 基于系统需求分析,该系统需要实现以下基本功能: 1、主界面管理 本系统的使用用户分两种:管理员和顾客。管理员具有使用本系统的所有功能,而顾 客需要具有日常书店的管理功能即可。主界面中需要顾客注册、顾客登录和管理员登录 和三个功能,可以分别进入各自功能界面。 2、添加功能 新顾客可以通过此模块填写自己的各项信息。顾客可以通过此模块完成购卖书籍等操 作。管理员可以管理界面中输入书籍的各项信息。 3、修改功能 管理员可以通过次模块来管理各类图书信息,包括图书信息的修改。在进行图书的修 改时,根据用户选定的书进行修改,即列出所有用户选定的信息,在这个基础上进行图 书信息的修改。 4、删除功能 管理员可以通过此模块完成对图书信息的删除等操作 5、查询功能 通过查询功能,顾客可以对书籍按不同方式进行查询。管理员可以查询书籍的信息和 销售情况。 6、显示功能 通过此功能,可以将所需信息显示的列表框中。便于顾客和管理员观察使用数据库。 根据功能分析的结果,网上书店
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值