《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表

这篇具有很好参考价值的文章主要介绍了《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在接下来的教程中,我们将会使用一个名为 BikeStores 的示例数据库,它的实体关系图(ERD)如下:

《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表
从上图可以看出,BikeStores 数据可靠包含两个模式(Schema),分别是 sales 和 production。这两个模式总共包含 9 个数据表。

数据表

sales.customers

sales.customers 表存储了客户的信息,包括名字、姓氏、电话、电子邮箱、街道、城市、州以及邮政编码。该表的创建语句如下:

CREATE TABLE sales.customers (
	customer_id INT IDENTITY (1, 1) PRIMARY KEY,
	first_name VARCHAR (255) NOT NULL,
	last_name VARCHAR (255) NOT NULL,
	phone VARCHAR (25),
	email VARCHAR (255) NOT NULL,
	street VARCHAR (255),
	city VARCHAR (50),
	state VARCHAR (25),
	zip_code VARCHAR (5)
);

sales.orders

sales.orders 表存储了销售订单的基本,包括客户、订单状态、订单日期、提货日期、发货日期。另外,它还存储了有关销售交易的创建位置(商店)和创建人(员工)的信息。

每个销售订单在 sales_orders 表中存在一条记录,一个销售订单在 sales.order_items 表中存在一个或多个订单项。该表的创建语句如下:

CREATE TABLE sales.orders (
	order_id INT IDENTITY (1, 1) PRIMARY KEY,
	customer_id INT,
	order_status tinyint NOT NULL,
	-- Order status: 1 = Pending; 2 = Processing; 3 = Rejected; 4 = Completed
	order_date DATE NOT NULL,
	required_date DATE NOT NULL,
	shipped_date DATE,
	store_id INT NOT NULL,
	staff_id INT NOT NULL,
	FOREIGN KEY (customer_id) 
        REFERENCES sales.customers (customer_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (staff_id) 
        REFERENCES sales.staffs (staff_id) 
        ON DELETE NO ACTION ON UPDATE NO ACTION
);

sales.order_items

sales.order_items 表存储了订单的具体项目。每个订单项属于一个指定的销售订单,使用字段 order_id 表示。

订单项包含了产品、订单数量、标价以及折扣。该表的创建语句如下:

CREATE TABLE sales.order_items(
	order_id INT,
	item_id INT,
	product_id INT NOT NULL,
	quantity INT NOT NULL,
	list_price DECIMAL (10, 2) NOT NULL,
	discount DECIMAL (4, 2) NOT NULL DEFAULT 0,
	PRIMARY KEY (order_id, item_id),
	FOREIGN KEY (order_id) 
        REFERENCES sales.orders (order_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (product_id) 
        REFERENCES production.products (product_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

sales.stores

sales.stores 表包含了商店的信息。每个商店拥有一个商店名称、联系信息(例如电话和电子邮箱)以及地址(包括街道、城市、州和邮政编码)。该表的创建语句如下:

CREATE TABLE sales.stores (
	store_id INT IDENTITY (1, 1) PRIMARY KEY,
	store_name VARCHAR (255) NOT NULL,
	phone VARCHAR (25),
	email VARCHAR (255),
	street VARCHAR (255),
	city VARCHAR (255),
	state VARCHAR (10),
	zip_code VARCHAR (5)
);

sales.staffs

sales.staffs 表包含了员工的基本信息,包括名字和姓氏等。另外,它还包含了员工的联系信息,例如电子邮箱和电话。

一名员工只在一个商店工作,通过字段 store_id 表示。一个商店可以拥有一名或多名员工。

一名员工汇报给一名商店经理,使用字段 manager_id 表示。如果字段 manager_id 为空,表明该员工是最高管理者。

如果某名员工不再为任何商店工作,字段 active 的值就会设置为 0。

该表的创建语句如下:

CREATE TABLE sales.staffs (
	staff_id INT IDENTITY (1, 1) PRIMARY KEY,
	first_name VARCHAR (50) NOT NULL,
	last_name VARCHAR (50) NOT NULL,
	email VARCHAR (255) NOT NULL UNIQUE,
	phone VARCHAR (25),
	active tinyint NOT NULL,
	store_id INT NOT NULL,
	manager_id INT,
	FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (manager_id) 
        REFERENCES sales.staffs (staff_id) 
        ON DELETE NO ACTION ON UPDATE NO ACTION
);

production.categories

production.categories 表存储了自行车的分类,例如儿童自行车、舒适性自行车和电动自行车。该表的创建语句如下:

CREATE TABLE production.categories (
	category_id INT IDENTITY (1, 1) PRIMARY KEY,
	category_name VARCHAR (255) NOT NULL
);

production.brands

production.brands 表存储了自行车的品牌形线,例如 Electra、Haro 和 Heller。该表的创建语句如下:

CREATE TABLE production.brands (
	brand_id INT IDENTITY (1, 1) PRIMARY KEY,
	brand_name VARCHAR (255) NOT NULL
);

production.products

production.products 表存储了产品的信息,例如名称、品牌、分类、车型年份以及标价。

每个产品属于一个指定的品牌,使用字段 brand_id 表示。因此,一个品牌可能包含零个或多个产品。

每个产品属于一个指定的分类,使用字段 category_id 表示。另外,一个分类可能包含零个或多个产品。

该表的创建语句如下:

CREATE TABLE production.products (
	product_id INT IDENTITY (1, 1) PRIMARY KEY,
	product_name VARCHAR (255) NOT NULL,
	brand_id INT NOT NULL,
	category_id INT NOT NULL,
	model_year SMALLINT NOT NULL,
	list_price DECIMAL (10, 2) NOT NULL,
	FOREIGN KEY (category_id) 
        REFERENCES production.categories (category_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (brand_id) 
        REFERENCES production.brands (brand_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

production.stocks

production.stocks 表存储了库存信息,例如某个商店中特定产品的数量。该表的创建语句如下:

CREATE TABLE production.stocks (
	store_id INT,
	product_id INT,
	quantity INT,
	PRIMARY KEY (store_id, product_id),
	FOREIGN KEY (store_id) 
        REFERENCES sales.stores (store_id) 
        ON DELETE CASCADE ON UPDATE CASCADE,
	FOREIGN KEY (product_id) 
        REFERENCES production.products (product_id) 
        ON DELETE CASCADE ON UPDATE CASCADE
);

安装示例数据库

点击该链接下载示例数据库的安装脚本。下载完成后解压 SQL-Server-Sample-Database.zip 文件,目录中包含三个 SQL 脚本:

  • BikeStores Sample Database - create objects.sql,这是用于创建数据库对象(模式和表)的脚本文件。
  • BikeStores Sample Database - load data.sql,这是插入示例数据的脚本文件。
  • BikeStores Sample Database - drop all objects.sql,这是删除模式和表的文件,删除后可以再次创建这些对象。

创建示例数据库

使用 SSMS 工具连接到服务器,在左侧“对象资源管理器”中右键点击“数据库”节点,选择“新建数据库(N)…”菜单。

《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表
在“数据库名称”后输入 BikeStores,点击“确定”按钮创建数据库。创建完成后,左侧“数据库”节点下将会出现一个新的数据库 BikeStores。

创建示例表

点击“文件”菜单,选择“打开”->“文件"菜单,查找到“BikeStores Sample Database – create objects.sql”文件后点击“打开”按钮导入该文件,然后点击“执行(X)”按钮允许该脚本创建模式和表。

《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表
左侧 BikeStores 数据库下可以看到已经创建的模式和数据表。

装载数据

使用相同的方法导入“BikeStores Sample Database – load data.sql”文件,点击“执行(X)”按钮允许脚本插入数据。

《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表
至此,我们已经完成了示例数据库和表的创建,以及示例数据的导入。接下来就可以正式开始学习 SQL 语句了。文章来源地址https://www.toymoban.com/news/detail-452535.html

到了这里,关于《Microsoft SQL Server入门教程》第03篇 示例数据库和示例表的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Microsoft SQL Server 数据库使用(二)

    ##Microsoft SQL Server 数据库使用(二) 数据库练习使用可以在我的资源下载中下载数据库脚本文件。 一、查询数据 注:下面使用 Microsoft SQL Server 2019 1、使用PowerDesigner创建数据库并导入SQL Server中 (1)、数据库表是存储数据库中所有数据的对象。 在表中,数据按行和列格式逻辑

    2024年02月06日
    浏览(41)
  • Microsoft SQL Server 数据库使用(三)

    ##Microsoft SQL Server 数据库使用(三) 一、查询数据 注:下面使用 Microsoft SQL Server 2019 数据库练习使用可以在我的资源下载中下载数据库脚本文件。 1.分页查询 (1)、OFFSET 子句指定在开始从查询返回行之前要跳过的行数。 offset_row_count 可以是大于或等于零的常量,变量或参数

    2024年02月06日
    浏览(38)
  • Microsoft SQL Server 数据库使用(一)

    一、Microsoft SQL Server安装 注:下面使用 Microsoft SQL Server 2019 数据库练习使用可以在我的资源下载中下载数据库脚本文件。 1.安装SQL准备工作 (1)、如果之前或当前电脑已经安装了Microsoft SQL Server更早版本的,请在安装之前把相应的“配置管理工具”进行端口号修改如果没有安

    2024年02月05日
    浏览(46)
  • python连接Microsoft SQL Server 数据库

      python代码  

    2024年02月11日
    浏览(36)
  • 03.Three.js的入门教程(二)如何创建一个3D地球?

    前言:通过上节课 02.Three.js的入门课程(一),我们了解了Three.js的最小案例DEMO,熟悉了几个重要组成部分。这节课带领大家编写一个3D地球。 一、通过纹理图渲染一个地球 1.1. 创建一个纹理加载器对象TextureLoader,可以加载图片作为纹理贴图; 1.2.完整代码结构 二、小球标

    2024年02月04日
    浏览(43)
  • Microsoft SQL Server 图书管理数据库的建立

    – 新建 “图书管理数据库\\\" – 其中包含三个关系 – 图书(编号,图书名,作者,出版社,类型,单价) – 借阅者(编号,姓名,专业,读者类型,联系方式) – 借阅(读者编号,图书编号,借阅日期) – 其中,单价为数值型,借阅日期为日期型 – 用户自定义规则,

    2023年04月09日
    浏览(35)
  • vscode连接sql数据库插件SQLTools Microsoft SQL Server用法

    vscode下载扩展插件:SQLTools Microsoft SQL Server 下载后选择add new connection 按需配置后点击最下面save connection按钮再点connect now按钮  然后会出现一个sql文件,在这个文件里面编写查询语句等再点run on active connection就会弹出一个右侧窗口可以看数据了  

    2024年02月12日
    浏览(43)
  • Apache Doris 入门教程03:使用Docker或Kubernetes部署Doris

    该文档主要介绍了如何通过 Dockerfile 来制作 Apache Doris 的运行镜像,以便于在容器化编排工具或者快速测试过程中可迅速拉取一个 Apache Doris Image 来完成集群的创建。 概述​ Docker 镜像在制作前要提前准备好制作机器,该机器的平台架构决定了制作以后的 Docker Image 适用的平台

    2024年02月07日
    浏览(35)
  • sql2016创建镜像数据库时报错(Microsoft SQL Server, Error: 927)

    在配置镜像最后一步报错:Database ‘XXX’ cannot be opened. It is in the middle of a restore. (Microsoft SQL Server, Error: 927) 解决办法: 执行命令 镜像库Mirror Server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://PrincipalServer:5022’ GO 主库Principal server: USE MASTER; GO ALTER DATABASE SET PARTNER = ‘TCP://MirrorSe

    2024年02月05日
    浏览(43)
  • 【STM32零基础入门教程03】GPIO输入输出之GPIO框图分析

             本章节主要讲解点亮LED的基本原理,以及GPIO框图的讲解。         首先我们查看原理图,观察电路图中LED的连接情况,如下图可以看出我们的板子中LED一端通过限流电阻连接的PB0另一端连接的是高电平VCC,那么我们将PB0位置接地是不是灯就亮了,那我们就想

    2024年02月14日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包