数据库的设计-----------商店实验数据库(storeexpm)

        1.实验目的及要求

        (1)理解数据库和表的基本概念。

        (2)掌握使用SQL语句创建表的操作,具备编写和调试创建表、查看表、修改表、删除表的代码能力。

        2.验证性实验

        商店实验数据库(storeexpm)是实验中多次用到的数据库,包含员工表(employee)、部门表(department)和商品表(goods)。

        employee表、department表和goods表的表结构分别如表1.1至表1.3所示。


    列名                      数据类型                允许null值              键              默认值                 说明


emplid                       varchar(4)                      ×                    主键               无                   员工号

emplname                 varchar(8)                      ×                                          无                   姓名

sex                            varchar(2)                      ×                                          男                   性别

birthday                     date                               ×                                          无                   出生日期

address                     varchar(20)                    √                                          无                   地址

wages                       decimal(8,2)                   ×                                          无                   工资

deptid                        varchar(4)                      √                                          无                   部门号


表1.1     employee表的表结构


    列名                      数据类型                允许null值                            默认值                 说明


deptid                        varchar(4)                      ×                    主键               无                   部门号

deptname                  varchar(20)                    ×                                          无                   部门名称


表1.2     department表的表结构


    列名                      数据类型                允许null值              键              默认值                 说明


goodsid                     varchar(4)                       ×                   主键               无                   商品号

goodsname               varchar(20)                     ×                                         无                   商品名称

classification             varchar(16)                     ×                                         无                   商品类型

unitprice                    decimal(8,2)                    √                                         无                   单价

stockquantity             int                                    ×                                         5                    库存量


                     表1.3     goods表的表结构                      

    使用SQL语句创建商店实验数据库(storeexpm),在数据库storeexpm中,验证和调试创建表、查看表、修改表、删除表和代码。

  (1)创建数据库storeexpm。

  (2)创建employee,显示employee表的基本结构(查看表)。

 (3)创建department表。

 (4)创建employee1表(复制表)。

(5)在employee表中增加一列eno,添加到列表的第一项,不为空,取值唯一自动增加,显示employee表的基本结构。

(6)将employee1表的sex列修改为gender,将数据类型改为char,可为空,默认值改为 ‘女’,显示employee1表的基本结构(修改表)。

 

(7)将employee1表的address列修改为telephone,将数据类型改为char,可为空。

 

(8)将employee1表的gender列默认值改为‘男’。

 

(9)将employee1表的wages列的类型修改为float,并移到列EmplName之后。

(10)在employee表中删除eno列。

 

 

(11)将employee1表更名为employee2表。

 

(12)删除employee2表。

 

--------------------------------------------------------------------------------------------------------------------------------

注: 1.为了方便,全文统一用小写,缺点是不够美观明显。

         2.对于第‘(6)(7)(8)(9)’补充以下知识点:
                alter table 语句有3个修改列的子句

                ①alter[column]子句:用于修改或删除表中指定列的默认值。(6)(7)

                ②change[column]子句:可同时修改表中指定列的名称和数据类型。(8)

                ③modify[column]子句:只可修改表中指定列的名称,可修改指定列在表中的位置

              (9)

        3.查看表的另外一种方法:show columns from [表名]。

        4.重命名表的另外一种方法:alter table [旧表名]

                                                      rename to [新表名];

源代码

create database storeexpm;

use storeexpm;
create table employee(
	emplid varchar(4) not null primary key,
	emplname varchar(8) not null,
	sex varchar(2) not null default '男',
	birthday date comment '出生日期',
	address varchar(20),
	wages decimal(8,2) not null comment '工资',
	deptid varchar(4) comment '部门号');
desc employee;

create table department(
	deptid varchar(4) not null primary key,
	deptname varchar(20) not null);
desc department;

create table employee1 like employee;

alter table employee
add column eno int not null unique auto_increment first;

alter table employee1
change column sex gender char(2) null default '女';

alter table employee1
change column address telephone char(20) null;

alter table employee1
alter column gender set default '男';

alter table employee1
modify column wages float after emplname;

alter table employee
drop column eno;

rename table employee1 to emplyee2;

drop table employee2;

  • 44
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
苍穹外卖数据库的E-R图描述了该数据库实体之间的关系,E-R图包括实体(Entity)、关系(Relationship)和属性(Attribute)三个要素。苍穹外卖数据库的E-R图主要包含以下几个实体: 1. 用户(User):记录用户的基本信息,包括用户ID、用户名、密码、电话等。 2. 商家(Business):记录商家的基本信息,包括商家ID、商家名、地址、联系电话等。 3. 订单(Order):记录订单的基本信息,包括订单ID、下单时间、送餐地址等。 4. 菜品(Dish):记录菜品的基本信息,包括菜品ID、菜品名、价格、图片等。 5. 购物车(ShoppingCart):记录购物车的菜品信息,包括购物车ID、用户ID、菜品ID等。 这些实体之间的关系如下: 1. 用户(User)和商家(Business)之间是一对多关系,即一个商家可以有多个用户点餐。 2. 商家(Business)和菜品(Dish)之间是一对多关系,即一个商家可以有多种菜品。 3. 订单(Order)和用户(User)之间是一对多关系,即一个用户可以有多个订单。 4. 订单(Order)和商家(Business)之间是一对多关系,即一个商家可以接收多个订单。 5. 订单(Order)和购物车(ShoppingCart)之间是一对多关系,即一个订单可以对应一个或多个购物车。 基于以上实体和关系,苍穹外卖数据库的E-R图可以用如下方式表示: ``` +-------------+ +-------------+ | User | | Business | +-------------+ +-------------+ | | | | | | | | +--+ +----------------+ | ShoppingCart |--+ +----------------+ | | | | +--+ | Dish | +--------+ ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值