返回顶部
首页 > 资讯 > 数据库 >如何使用SQL构建一个关系数据库
  • 830
分享到

如何使用SQL构建一个关系数据库

2024-04-02 19:04:59 830人浏览 独家记忆
摘要

本篇文章给大家分享的是有关如何使用sql构建一个关系数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用 SQL 构建一个关系数据库比你想

本篇文章给大家分享的是有关如何使用sql构建一个关系数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

使用 SQL 构建一个关系数据库比你想的更容易。

使用 SQL 构建数据库比大多数人想象得要简单。实际上,你甚至不需要成为一个有经验的程序员就可以使用 SQL 创建数据库。在本文中,我将解释如何使用 Mysql 5.6 来创建简单的关系型数据库管理系统(RDMS)。在开始之前,我想顺便感谢一下 SQL Fiddle,这是我用来运行脚本的工具。它提供了一个用于测试简单脚本的有用的沙箱。

在本教程中,我将构建一个使用如下实体关系图(ERD)中显示的简单架构的数据库。数据库列出了学生和正在学习的课程。为了保持简单,我使用了两个实体(即表),只有一种关系和依赖。这两个实体称为 dbo_studentsdbo_courses

如何使用SQL构建一个关系数据库

数据库的多样性是一对多的,因为每门课程可以包含很多学生,但每个学生只能学习一门课程。

关于术语的快速说明:

  1. 一张表称为一个实体。

  2. 一个字段称为一个属性。

  3. 一条记录称为一个元组。

  4. 用于构建数据库的脚本称为架构。

构建架构

要构建数据库,使用 CREATE TABLE <表名> 命令,然后定义每个字段的名称和数据类型。数据库使用 VARCHAR(n)字符串)和 INT(n) (整数),其中 n 表示可以存储的值的长度。例如 INT(2) 可以是 01

这是用于创建两个表的代码:

CREATE TABLE dbo_students(  student_id INT(2) AUTO_INCREMENT NOT NULL,  student_name VARCHAR(50),  course_studied INT(2),  PRIMARY KEY (student_id)); CREATE TABLE dbo_courses(  course_id INT(2) AUTO_INCREMENT NOT NULL,  course_name VARCHAR(30),  PRIMARY KEY (course_id));

NOT NULL 意味着字段不能为空,AUTO_INCREMENT 意味着当一个新的元组被添加时,ID 号将自动生成,是对先前存储的 ID 号加 1,以强化各实体之间的完整参照性。 PRIMARY KEY 是每个表的惟一标识符属性。这意味着每个元组都有自己的不同的标识。

关系作为一种约束

就目前来看,这两张表格是独立存在的,没有任何联系或关系。要连接它们,必须标识一个外键。在 dbo_students 中,外键是 course_studied,其来源在 dbo_courses 中,意味着该字段被引用。SQL 中的特定命令为 CONSTRaiNT,并且将使用另一个名为 ALTER TABLE 的命令添加这种关系,这样即使在架构构建完毕后,也可以编辑表。

以下代码将关系添加到数据库构造脚本中:

ALTER TABLE dbo_studentsADD CONSTRAINT FK_course_studiedFOREIGN KEY (course_studied) REFERENCES dbo_courses(course_id);

使用 CONSTRAINT 命令实际上并不是必要的,但这是一个好习惯,因为它意味着约束可以被命名并且使维护更容易。现在数据库已经完成了,是时候添加一些数据了。

将数据添加到数据库

INSERT INTO <表名> 是用于直接选择要添加哪些属性(即字段)数据的命令。首先声明实体名称,然后声明属性,下边是添加到实体的数据,从而创建一个元组。如果指定了 NOT NULL,这表示该属性不能留空。以下代码将展示如何向表中添加记录:

INSERT INTO dbo_courses(course_id,course_name)VALUES(001,'Software Engineering');INSERT INTO dbo_courses(course_id,course_name)VALUES(002,'Computer Science');INSERT INTO dbo_courses(course_id,course_name)VALUES(003,'Computing'); INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(001,'student1',001);INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(002,'student2',002);INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(003,'student3',002);INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(004,'student4',003);

现在数据库架构已经完成并添加了数据,现在是时候在数据库上运行查询了。

查询

查询遵循使用以下命令的集合结构:

SELECT <attributes>FROM <entity>WHERE <condition>

要显示 dbo_courses 实体内的所有记录并显示课程代码和课程名称,请使用 * 。 这是一个通配符,它消除了键入所有属性名称的需要。(在生产数据库中不建议使用它。)此处查询的代码是:

SELECT *FROM dbo_courses

此处查询的输出显示表中的所有元组,因此可显示所有可用课程:

| course_id |          course_name ||-----------|----------------------||         1 | Software Engineering ||         2 |     Computer Science ||         3 |            Computing |

在后面的文章中,我将使用三种类型的连接之一来解释更复杂的查询:内连接、外连接和交叉连接。

这是完整的脚本:

CREATE TABLE dbo_students(  student_id INT(2) AUTO_INCREMENT NOT NULL,  student_name VARCHAR(50),  course_studied INT(2),  PRIMARY KEY (student_id)); CREATE TABLE dbo_courses(  course_id INT(2) AUTO_INCREMENT NOT NULL,  course_name VARCHAR(30),  PRIMARY KEY (course_id)); ALTER TABLE dbo_studentsADD CONSTRAINT FK_course_studiedFOREIGN KEY (course_studied) REFERENCES dbo_courses(course_id); INSERT INTO dbo_courses(course_id,course_name)VALUES(001,'Software Engineering');INSERT INTO dbo_courses(course_id,course_name)VALUES(002,'Computer Science');INSERT INTO dbo_courses(course_id,course_name)VALUES(003,'Computing'); INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(001,'student1',001);INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(002,'student2',002);INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(003,'student3',002);INSERT INTO dbo_students(student_id,student_name,course_studied)VALUES(004,'student4',003); SELECT *FROM dbo_courses

SQL 并不困难;我认为它比编程简单,并且该语言对于不同的数据库系统是通用的。 

以上就是如何使用SQL构建一个关系数据库,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网数据库频道。

您可能感兴趣的文档:

--结束END--

本文标题: 如何使用SQL构建一个关系数据库

本文链接: https://lsjlt.com/news/67858.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何使用SQL构建一个关系数据库
    本篇文章给大家分享的是有关如何使用SQL构建一个关系数据库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。使用 SQL 构建一个关系数据库比你想...
    99+
    2024-04-02
  • 如何创建一个SQL Azure数据库
    这期内容当中小编将会给大家带来有关如何创建一个SQL Azure数据库,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。之前我们已经创建了一个SQL Azure Server...
    99+
    2024-04-02
  • 如何使用webpack构建一个库
    这篇文章主要为大家展示了“如何使用webpack构建一个库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用webpack构建一个库”这篇文章吧。输出产物构...
    99+
    2024-04-02
  • ASP.NET Core如何使用EF为关系数据库建模
    本文小编为大家详细介绍“ASP.NET Core如何使用EF为关系数据库建模”,内容详细,步骤清晰,细节处理妥当,希望这篇“ASP.NET Core如何使用EF为关系数据库建模”文章能帮助大家解决疑惑,下面跟着小编的思路...
    99+
    2023-06-29
  • 如何创建一个SQLite数据库
    要在SQLite中创建一个数据库,你可以按照以下步骤进行: 下载SQLite的安装包并安装到你的计算机上。 打开终端或命令提...
    99+
    2024-04-09
    SQLite
  • navicat如何新建一个数据库
    如何使用 navicat 新建一个数据库?1) 打开 navicat 并连接到数据库服务器。2) 右键单击数据库服务器节点,选择“新建”>“数据库”,输入新数据库名称并选择字符集和...
    99+
    2024-04-22
    mysql navicat
  • mysql数据库如何使用sql新建表
    在 mysql 中创建新表需要按以下步骤进行:连接到数据库;编写 create table 语句,指定表名、列名、数据类型,并可设置约束和默认值;执行 create table 语句;使...
    99+
    2024-04-22
    mysql
  • 我们如何使用mysqladmin创建一个新的数据库?
    我们需要特殊权限才能创建或删除 MySQL 数据库。以下是使用 mysqladmin 二进制文件创建新数据库的语法 -语法[root@host]# mysqladmin -u root -p create db_name Enter pas...
    99+
    2023-10-22
  • 给数据库构建一个展示界面
    给mySQL构建一个展示界面 这是“构建个人小型医学数据库”系列文章的最后一部分。通过之前的工作我们确定了所要收集的各类变量并将其录入到mySQL数据库中。 为了展示MySQL中存储的数据,通过摸索...
    99+
    2023-09-01
    数据库 php javascript
  • 多个异构数据库如何关联查询
    DBlink 只适合同种数据库关联,难以关联异构库。其他方式不是改变部署架构,就是增加开发工作量,实施起来困难很多。 开发难度小的方式貌似是 ETL,把异构库变成同构库,就可以用熟悉的方式写关联 SQL。但这种方式需要改变原来的部署架构,...
    99+
    2014-11-02
    多个异构数据库如何关联查询
  • sqlserver中如何创建一个数据库
    要在SQL Server中创建数据库,可以使用以下步骤: 打开SQL Server Management Studio(SSMS)...
    99+
    2024-04-13
    sqlserver
  • sql数据库如何创建
    今天就跟大家聊聊有关sql数据库如何创建,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  sql新建数据库步骤:登录然后选择数据库后右击新...
    99+
    2024-04-02
  • 数据库的建筑师:使用 DDL 构建数据结构
    数据库中的数据结构是数据的骨架,它定义了数据的存储方式、组织形式和访问权限。使用数据定义语言 (DDL) 构建数据结构是数据库管理系统 (DBMS) 中的一项基本任务。本文将详细介绍 DDL 中用于创建、修改和删除数据结构的常用命令。 ...
    99+
    2024-02-19
    数据定义语言 DDL CREATE ALTER DROP 数据建模 数据结构
  • 关系数据库系统中使用的数据结构是怎样的
    小编给大家分享一下关系数据库系统中使用的数据结构是怎样的,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!关系数据库系统中使用的数据结构是二维表。在关系型数据库系统中,所有的数据都采用二维表的...
    99+
    2024-04-02
  • 使用Dockerfile如何构建一个docker镜像
    这篇文章给大家介绍使用Dockerfile如何构建一个docker镜像,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。使用Dockerfile构建docker镜像1、什么是Dockerfile?   ...
    99+
    2023-06-14
  • 如何使用Django构建一个PHP容器?
    Django是一个流行的Python Web框架,它被广泛用于构建高性能、易于维护的Web应用程序。而PHP是一种常见的编程语言,被广泛用于Web开发。在本文中,我们将介绍如何使用Django构建一个PHP容器。 1.准备工作 在开始之前,...
    99+
    2023-08-06
    容器 django 索引
  • ASP.NET Core使用EF为关系数据库建模
    目录1.简介2.表映射2.1约定2.2数据注释2.3Fluent API3.列映射3.1约定3.2数据注释3.3Fluent API4.数据类型4.1约定4.2数据注释4.3Flue...
    99+
    2024-04-02
  • 数据库如何使用C++数据结构
    本篇文章为大家展示了数据库如何使用C++数据结构,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。在编写代码时,堆栈是最常用的C++数据结构,它的概念简单,编写也比较简单,现在举这么个例子,桌子上有堆成...
    99+
    2023-06-17
  • SQL Server如何创建数据库
    这篇文章给大家分享的是有关SQL Server如何创建数据库的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SQL Server 怎么创建数据库?首先启动“SQL Server M...
    99+
    2024-04-02
  • sql数据库如何创建表
    要创建表,你需要使用CREATE TABLE语句。以下是创建表的基本语法:CREATE TABLE table_name (colu...
    99+
    2023-10-08
    sql数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作