• SQL_server中创建订单数据库


    任务描述:

    • 关系模型

    1、代理商(代理商编号、姓名、地址、邮政编码、提成金额、提成比例)

    其中代理商编号为primary key(主码)

    2、客户(客户编号、姓名、地址、邮政编码、收支差额、贷款限额、代理商编号)

    其中客户编号为primary key(主码)

      

    3.产品(产品编号、描述信息、库存量、类别、仓库的编号、价格)

    其中产品的编号为primary key(主码)

      

    4.订单(订单编号、订货日期、客户编号)

      

    5.订货项目(订单编号、产品编号、订购数量、订购单价)

      

    • 原始数据

    1.对于代理商(代理商编号、姓名、地址、邮政编码、提成金额、提成比例)

    01、联邦、东环路1号、541001、30000.00、40

    02、惠普、东环路2号、541002、4000.00、10

    03、三洋、东环路3号、541003、10000.00、30

    04、联想、东环路4号、541004、100000.00、60

    05、海尔、东环路5号、541005、200000.00、60

    2.客户(客户编号、姓名、地址、邮政编码、收支差额、贷款限额、代理商编号)

    100、张三、西环路1号、100001、10.00、100.00、02

    200、李四、西环路2号、100001、-10.00、10.00、04

    300、王五、西环路3号、100001、100.00、1000.00、02

    400、赵六、西环路4号、100001、600.00、2000.00、01

    500、洪七、西环路5号、100001、300.00、900.00、05

    600、李明、西环路6号、100001、20.00、300.00、03

    700、张进、西环路7号、100001、400.00、1000.00、03

    3.产品(产品的编号、描述信息、库存量、类别、仓库的编号、价格)

    0011、药物,单位(瓶)、1000、12、1001、40.00

    0022、机器,单位(件)、300、3、1002、50000.00

    0033、中药,单位(包)、800、12、1001、300.00

    0044、软件,单位(套)、1500、10、1003、2000.00

    0055、家具,单位(件)、6000、3、1002、1000.00

    0066、小型机,单位(台)、10000、3、1002、200000.00

    4.订单(订单编号、订货日期、客户编号)

    111、2000-10-01、200

    222、2000-09-01、200

    333、2001-01-01、500

    444、2002-02-02、300

    555、2003-03-03、100

    5.订货项目(订单编号、产品编号、订购数量、订购单价)

    111、0033、200、280.00

    222、0066、6000、150000.00

    333、0033、100、280.00

    444、0011、300、39.00

    555、0055、5500、950.00

    444、0044、1000、1900.00

    • 相关知识

    1、创建数据库

    create database stuDB
     on  primary  -- 默认就属于primary文件组,可省略
      (
     /*--数据文件的具体描述--*/
         name='stuDB_data',  -- 主数据文件的逻辑名称
         filename='D:stuDB_data.mdf', -- 主数据文件的物理名称
         size=5mb, --主数据文件的初始大小
         maxsize=100mb, -- 主数据文件增长的最大值
         filegrowth=15%--主数据文件的增长率
     )
     log on
     (
     /*--日志文件的具体描述,各参数含义同上--*/
         name='stuDB_log',
         filename='D:stuDB_log.ldf',
        size=2mb,
        filegrowth=1mb
     )

    2、删除数据库

    use studentdb
    go
    if exists(select * from sysobjects where name='stuMarks')
    drop table stuMarks
    create table stuMarks
    (
        ExamNo      int     identity(1,1) primary key,
        stuNo       char(6) not null,
        writtenExam int     not null,
        LabExam     int     not null
    )
    Go

    3、创建数据表

    use studentdb
    go
    if exists(select * from sysobjects where name='stuMarks')
    drop table stuMarks
    create table stuMarks
    (
        ExamNo      int     identity(1,1) primary key,
        stuNo       char(6) not null,
        writtenExam int     not null,
        LabExam     int     not null
    )
    Go

    4、删除数据表

    /*--删除数据表--*/
    use StuDB
    go 
    if exists(select * from sysobjects where name='stuMarks')
    drop table stuMarks
    go
    /*--创建数据表--*/
    create table stuMarks
    (
        ExamNo      int     identity(1,1) primary key,
        stuNo       char(6) not null,
        writtenExam int     not null,
        LabExam     int     not null
    )

    5、数据库备份

    backup database studentdb to disk = 'D:mybackupdb.bak'
    go

    6、数据库还原

    restore database mybackup
    from disk= 'D:mybackupdb.bak'
    with move 'stuDB_data'-- 原数据库的主数据文件的逻辑名称
    to 'D:stuDB_data_org.mdf',
    move 'stuDB_log'
    to 'D:stuDB_log_org.ldf'
    go

    SQL订单数据库创建源码:

    /***********注意:只是在适当的位置根据提示填写代码,请不要删除现有代码**********/
    
    /***********BEGIN:删除现存订单数据库**********/
    use master
    go
    if exists(select * from sysdatabases WHERE name = 'orderdb')
    drop database orderdb
    go
    /***********END:删除现存订单数据库**********/
    
    
    /*****TODO: 请在下面创建名为orderdb的订单数据库*******************/
    /*   该订单数据库的数据文件具体描述如下
         name='orderdb_data',  -- 主数据文件的逻辑名称
         filename='/home/orderdb_data.mdf', -- 主数据文件的物理名称
         size=5mb, --主数据文件的初始大小
         maxsize=100mb, -- 主数据文件增长的最大值
         filegrowth=15%--主数据文件的增长率
    
         该订单数据库的日志文件具体描述为
         name='orderdb_log',
         filename='/home/orderdb_log.ldf',
         size=2mb,
         filegrowth=1mb
    */
    /*******************BEGIN:创建订单数据库**********************/
    create database orderdb
    on primary
    (
        name='orderdb_data',   -- 主数据文件的逻辑名称
        filename='D:代码数据库查询表SQL_DATAorderdb_data.mdf',    -- 主数据文件的物理名称
        size=5mb,        --主数据文件的初始大小
        maxsize=100mb,  -- 主数据文件增长的最大值
        filegrowth=15%        --主数据文件的增长率
        
    )
    log on 
    (
        name='orderdb_log',
        filename='D:代码数据库查询表SQL_DATAorderdb_log.ldf',
        size=2mb,
        filegrowth=1mb
    )
    
    
    /*********************END:订单数据库orderdb创建结束 *******************/
    
    /********************  支持中文 **********************/
    ALTER DATABASE orderdb SET SINGLE_USER WITH ROLLBACK IMMEDIATE
    go
    ALTER DATABASE orderdb COLLATE Chinese_PRC_90_CI_AS
    go
    ALTER DATABASE orderdb SET MULTI_USER
    go
    
    
    /********使返回的结果中不包含有关受 Transact-SQL 语句影响的行数的信息*********/
    SET NOCOUNT ON
    go
    
    /************************使用orderdb*********************/
    USE orderdb
    go
    
    /***************TODO: 请在下面创建5张数据表************************/
    /*
    例子1:订单表
    create table  订单
    (
    订单编号 char(4) ,
    订货日期 smalldatetime ,
    客户编号 char(4),
    primary key(订单编号),--在表级定义实体完整性
    foreign key(客户编号) references 客户(客户编号)--在表级定义参照完整性
    )
    go
    */
    /**************BEGIN:创建数据表**************/
    /*TODO:1、创建名为代理商的数据表*/
    create table 代理商
    (
        代理商编号 char(4),
        姓名    nvarchar(10),
        地址    nvarchar(20),
        邮政编码    char(6),
        提成金额    smallmoney,
        提成比例     tinyint,
        primary key(代理商编号)
    )
    go
    
    /*TODO:2、创建名为客户的数据表*/
    create table 客户
    (
        客户编号 char(4),
        姓名    nvarchar(10),
        地址    nvarchar(20),
        邮政编码    char(6),
        收支差额    smallmoney,
        贷款限额    smallmoney,
        代理商编号    char(4),
        primary key(客户编号),
        foreign key(代理商编号) references 代理商(代理商编号)
    )
    go
    
    /*TODO:3、创建名为产品的数据表*/
    create table 产品
    (
        产品编号    char(4),
        描述信息    nvarchar(20),
        库存量    int,
        类别    tinyint,
        仓库编号    char(4),
        价格    smallmoney,
        primary key(产品编号)
    )
    go
    
    /*TODO:4、创建名为订单的数据表*/
    create table 订单
    (
        订单编号    char(4),
        订货日期    smalldatetime,
        客户编号    char(4),
        primary key(订单编号),
        foreign key(客户编号) references 客户(客户编号)
    )
    go
    
    
    /*TODO:5、创建名为订货项目的数据表*/
    create table 订货项目
    (
        订单编号 char(4),
        产品编号 char(4),
        订购数量 smallint,
        订购单价 smallmoney,
        primary key(订单编号,产品编号),
        foreign key(订单编号) references 订单(订单编号),
        foreign key(产品编号) references 产品(产品编号)
    
    )
    go
    
    
    /**************    END:创建数据表结束 ****************/
    
    /***************TODO: 请在下面给表中插入数据************************/
    /*
    例子1,插入一条记录:
    insert into  订货项目
    VALUES 
    ('444','0044',1000,1900.00)
    go
    例子2,插入多条记录:
    insert into  订货项目
    VALUES 
    ('555','0055',5500,950.00),
    ('444','0044',1000,1900.00)
    go
    */
    /**************BEGIN:插入数据**************/
    /*TODO:1、插入数据到名为代理商的数据表中*/
    insert into 代理商
    VALUES
    ('01','联邦','东环路1号','541001',30000.00,40),
    ('02','惠普','东环路2号','541002',4000.00,10),
    ('03','三洋','东环路3号','541003',10000.00,30),
    ('04','联想','东环路4号','541004',100000.00,60),
    ('05','海尔','东环路5号','541005',200000.00,60)
    go
    
    
    /*TODO:2、插入数据到名为客户的数据表中*/
    insert into 客户
    VALUES
    ('100','张三','西环路1号','100001',10.00,100.00,'02'),
    ('200','李四','西环路2号','100001',-10.00,10.00,'04'),
    ('300','王五','西环路3号','100001',100.00,1000.00,'02'),
    ('400','赵六','西环路4号','100001',600.00,2000.00,'01'),
    ('500','洪七','西环路5号','100001',300.00,900.00,'05'),
    ('600','李明','西环路6号','100001',20.00,300.00,'03'),
    ('700','张进','西环路7号','100001',400.00,1000.00,'03')
    go
    
    
    /*TODO:3、插入数据到名为产品的数据表中*/
    insert into 产品
    VALUES
    ('0011','药物,单位(瓶)',1000,12,'1001',40.00),
    ('0022','机器,单位(件)',300,3,'1002',50000.00),
    ('0033','中药,单位(包)',800,12,'1001',300.00),
    ('0044','软件,单位(套)',1500,10,'1003',2000.00),
    ('0055','家具,单位(件)',6000,3,'1002',1000.00),
    ('0066','小型机,单位(台)',10000,3,'1002',200000.00)
    go
    
    
    
    /*TODO:4、插入数据到名为订单的数据表中*/
    insert into 订单
    VALUES
    ('111','2000-10-01','200'),
    ('222','2000-09-01','200'),
    ('333','2001-01-01','500'),
    ('444','2002-02-02','300'),
    ('555','2003-03-03','100')
    go
    
    
    /*TODO:5、插入数据到名为订货项目的数据表中*/
    insert into 订货项目
    VALUES
    ('111','0033',200,280.00),
    ('222','0066',6000,150000.00),
    ('333','0033',100,280.00),
    ('444','0011',300,39.00),
    ('555','0055',5500,950.00),
    ('444','0044',1000,1900.00)
    go
    
    
    
    /****************END:插入数据结束**********************/
    
    /****************TODO:请在下面写SQL语句备份orderdb数据库***********************/
    backup database orderdb to disk = 'D:代码数据库查询表SQL_DATAmybackupdb.bak'
    go
    
    
    /****************END:完成订单数据库备份********************************/
    
    /**************TODO:请在下面写SQL语句还原orderdb数据库为mybackup*************/
    restore database mybackup 
    from disk='D:代码数据库查询表SQL_DATAmybackupdb.bak' 
    with move 'orderdb_data'
    to 'D:代码数据库查询表SQL_DATAorderdb_data_backup.mdf',
    move 'orderdb_log'
    to 'D:代码数据库查询表SQL_DATAorderdb_log_backup.ldf'
    go
    
    /****************END:完成还原数据库备份********************************/
    
    /***************  测试 ,请不要删除下面代码********/
    SELECT name FROM sys.databases WHERE name='mybackup'
    go
    USE mybackup
    go
    select * from 代理商
    go
    select * from 客户
    go
    select * from 产品
    go
    select * from 订单
    go
    select * from 订货项目
    go
  • 相关阅读:
    Go语言之深入剖析slice
    docker-compose 安装以及遇到的错误解决
    linux 简单记录9 --服务的访问控制列表(ssh,scp,screen)
    linux 简单记录8 --iptables 与 firewalld 防火墙
    linux 简单记录7--使用 RAID 与 LVM 磁盘阵列技术(使用LVM扩展磁盘空间)
    linux 简单记录6--存储结构与磁盘划分
    DNS 域名解析服务
    linux运用软链接解决目录空间不足
    linux 简单记录5--用户身份与文件权限
    ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper
  • 原文地址:https://www.cnblogs.com/junfblog/p/12766666.html
Copyright © 2020-2023  润新知