在开发一个软件项目时,最重要的、基本的和内在的方面之一是一个结构合理的数据库模式。这相当于建造一所需要确保地基适当铺设的房子,否则建造优质房屋的机会大大减少。
令人惊讶的是,这比人们想象的要容易得多,让我们学习一下用于编写结构良好的数据库模式的各个方面。
首先,打开您喜爱的文本编辑器。创建数据库架构只需要一个纯文本文件。数据库由多个表组成,每个表由列组成,CREATE TABLE语法用于创建单个表。下面是一个基本示例:
CREATE TABLE users (id INT NOT NULL,is_active TINY INT NOT NULL,full_name VAR CHAR(100) NOT NULL,email VARCHAR(100) NOT NULL);如您所见,这将创建一个名为users的数据库表,该表由四列组成。这应该是一个相当直截了当的SQL语句,以CREATE TABLE开头,后跟数据库表的名称,然后在括号内用逗号分隔表的列。
如上所示,表中包含的列用逗号分隔。每个列定义由三个相同的部分组成:
COL_NAME TYPE [OPTIONS]列的名称,后跟列类型,然后是任何可选参数。稍后我们将讨论可选参数,但重点是列类型,下面列出了可用的最常用列类型:
出于所有目的,上面的列类型都是编写构造良好的mySQL数据库模式所需要的。
定义列时,还可以指定各种选项。下面是CREATE TABLE语句的另一个示例:
CREATE TABLE users (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,username VARCHAR(100) NOT NULL UNIQUE,status ENUM('active','inactive') NOT NULL DEFAULT 'active',balance DECIMAL(8,2) NOT NULL DEFAULT 0,date_of_birth DATETIME,created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP);上面这些看起来有点吓人,但不用担心,很简单。分解一下,下面是在上面的陈述中发生的事情:
上面是一个结构良好的数据库表的示例,应该用作以后的示例。
使用关系数据库(如mySQL)的最大优点之一是它非常支持外键约束和级联。这是指通过列将两个表链接在一起,形成父子关系,因此删除父行时,也会自动删除必要的子行。
举个例子:
CREATE TABLE users (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,username VARCHAR(100) NOT NULL UNIQUE,full_name VARCHAR(100) NOT NULL,created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP) engine=InnoDB;CREATE TABLE orders (id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,userid INT NOT NULL,amount DECIMAL(8,2) NOT NULL,product_name VARCHAR(200) NOT NULL,FOREIGN KEY (userid) REFERENCES users (id) ON DELETE CASCADE) engine=InnoDB;您将注意到外键子句是最后一行。这一行只是说明这个表包含子行,这些子行由userid列链接到它们的父行,父行是users表的id列。这意味着,每当从users表中删除一行时,mySQL都会自动从orders表中删除所有相应的行,从而确保数据库的结构完整性。
还要注意上面语句末尾的engine=InnoDB。尽管InnoDB现在是默认的mySQL表类型,但并不总是这样,所以为了安全起见,应该添加它,因为级联只适用于InnoDB表。
现在,您可以很好地构建可靠、结构良好的mySQL数据库模式了。利用以上知识,您现在可以编写组织良好的模式,同时提供性能和结构完整性。
在您的模式就位后,确保您知道如何将其与这些基本的SQL命令一起使用。
Java提供JDBC(Java数据库连接),作为JavaSDK(软件开发工具包)的一部分。使用这个API,很容易连接到关系数据库,并执行查询、**、更新和删除记录等常见操作。 ...
如果您经常编写连接到数据库服务器的应用程序,那么如果您知道如何在Windows机器上安装MySQL数据库以进行测试,这会有所帮助。 ...
...个阶段,你有一个网站,你可以开始使用。我们的WordPress入门指南将在这里提供帮助。别忘了选择一个主题和一些有用的插件。你还需要一个从互联网访问网站的方法。 ...
...令重新启动Apache。现在已经安装了LAMP服务器,可以安装数据库驱动的PHP web应用程序和网站了。 ...
...动并运行。服务器将成为媒体库的后端,从而取代Kodi库数据库。使用Emby后端还可以在设备之间同步视频的观看状态。 ...
... 你需要什么 我们将要实现的同步魔法的核心是一个MySQL数据库。如果你以前从未使用过,不要惊慌!它确实需要一点技术诀窍,但我们在这里指导您的每一步。如果你紧跟其后,就不会有任何问题。 我们要做的是安装一个免...
...b服务器,他们支持PHP并且已经安装了它,并且使设置MySQL数据库成为一键式的事情。或者,如果你不想使用网络主机,你可以在家里的Linux电脑上安装微型RSS。这有点复杂,您需要自己安装PHP和MySQL,但并不太难。在本指南中,...
...,而FLOOR有助于获得小于或等于一个数字的最大整数值。 数据库管理系统(DBMS)是一种帮助存储和管理数据库中数据的软件。遵循关系模型的DBMS是关系DBMS(RDBMS)。有各种RDBMS,比如MySQL。程序员可以执行结构化查询语言(SQL)...