在当今数字化时代,互联网上存储着海量的数据信息。无论是社交媒体头像、推文还是在线订餐记录,这些数据都被存储在某个地方。那么,这些数据究竟存储在哪里呢?答案很简单——数据库。
数据库是一组相关联的信息集合。现代数据库包含着数百万甚至数万亿条信息。数据库提供了方便的数据存储和访问方式。“Datum”一词表示单个信息单元,而“数据”是“datum”的复数形式。数据库最重要的一个方面就是能够轻松管理和操作大量数据。
现代数据库由一种称为数据库管理系统(DBMS)的软件进行管理。数据库管理系统帮助用户创建和维护数据库,管理大量信息,处理安全性问题,负责数据备份,导入或导出数据,并允许用户访问数据。
遵循关系模型并以表格格式存储数据的数据库被称为关系数据库。数据库包含行和列,每个数据点都有一个唯一的键。关系数据库非常常见,使用率很高。在网上填写的几乎所有表单数据通常都会被存储在关系数据库中。关系数据库的例子包括MicrosoftSQLServer、Oracle和MySQL。
可以使用SQL命令来创建一个简单的关系数据库。以下是创建一个名为“student_data”的表的SQL命令:
CREATE TABLE student_data(
studentID int PRIMARY KEY NOT NULL,
student_name varchar(30),
gender VARCHAR(1),
course varchar(15),
marks float,
fees int,
admission_year int
);
这个简单的表包含了一些示例数据。简要介绍一下创建的表,其中studentID是主键,通常这会是学生在学校或学院的学号。这个字段不能为NULL,即这个字段必须有值。使用“NOT NULL”关键字来定义这一点。其他数据列包括学生姓名、性别、课程、分数、费用和入学年份。
现在,将数据插入到表中。以下是插入10条记录的SQL命令:
INSERT INTO student_data VALUES ('1', 'Rahul','M', 'BA English', 89.2, 15000, 2019);
INSERT INTO student_data VALUES ('2', 'Riya', 'F','BA History', 68, 12000, 2018);
INSERT INTO student_data VALUES ('3', 'Sagnik','M', 'MBBS', 96, 19000, 2019);
INSERT INTO student_data VALUES ('4', 'Aditya', 'M','BA English', 95, 8000, 2018);
INSERT INTO student_data VALUES ('5', 'Sunny', 'M','Btech', 78, 14000, 2019);
INSERT INTO student_data VALUES ('6', 'Anshuman', 'M','Btech', 67, 6000, 2018);
INSERT INTO student_data VALUES ('7', 'Soumya','M', 'Btech', 86.8, 17000, 2019);
INSERT INTO student_data VALUES ('8', 'Ravi', 'M','MBBS', 87.9, 18000, 2018);
INSERT INTO student_data VALUES ('9', 'Priya', 'F','BA English', 93, 12000, 2019);
INSERT INTO student_data VALUES ('10', 'Ankita', 'F','BA History', 89.2, 14000, 2018);
向表中插入了10条记录。现在表看起来像这样。如果熟悉Excel,会理解这种可视化看起来有点像Excel。例如,每个工作表在Excel文件中保存一些数据,每个表保存一些信息。
表是相关数据条目的集合,使用列和行来存储数据。每一列是一个数据属性,在上述表中,性别、课程、分数等是数据字段或属性。行称为记录,它们是表的单个条目。这种存储数据的方式简单、灵活且高效。新条目可以简单地添加到表的末尾。计算机科学家Edgar F. Codd在1970年开发了存储数据的关系模型。
上述提到的部分是关系数据库的重要方面。简单总结,表(称为关系)由作为行和列的数据组成。所有表都有一个主键。两个或多个表之间的逻辑连接可以通过外键来建立。外键是引用另一个表主键的列。
可以使用实体-关系图来定义或建模多个表之间的关系。它包含了所有实体和属性。在RDBMs中,由于数据以表格格式存储,关系也以表格格式存储。
关系数据库是最常用的,它们支持数据独立性,并且存储为表格的数据可以轻松分析和处理。例如,考虑上述学生数据。这里,有10条记录,但假设在现实生活中有5000名学生。不能单独分析每个数据点。
假设需要查看分数分布,计算男女学生的数量,并执行其他数据探索任务。RDBMS将使这些事情变得简单。需要做的非常简单。数据可以被提取,转换为Excel文件,并在Excel中进行分析。或者,它可以被转换为csv文件,并在Excel中进行分析。数据在这样做之后变得非常简单易用。
RDBMs的关系模型有助于将逻辑数据结构与物理存储结构分开。这使得数据库管理员可以在不影响作为逻辑结构访问数据的情况下管理物理数据存储。
关系数据库提供了一种存储数据和表示数据的方式,可以被任何应用程序或软件使用。关系数据库的主要优势是使用表格来存储数据。表格是一种简单、健壮且灵活的存储数据方式。
SQL已成为数据库查询的最流行语言。SQL可以轻松用于从数据库中检索数据。让实现一些简单的SQL查询。
现在,从上面创建的学生数据库中,假设想要获取所有学生的分数,并按升序排序。SQL查询将是:
SELECT student_data.student_name, student_data.marks
FROM student_data
ORDER BY marks;
现在,想要相同的输出,但是按降序排序。SQL查询将是:
SELECT student_data.student_name, student_data.marks
FROM student_data
ORDER BY marks DESC;
现在,想要分析学生费用,让看看如何实现它们。SQL查询非常简单。
SELECT student_name, fees
FROM student_data
ORDER BY fees;
现在,让看看BTech课程的学生。查询如下。
SELECT student_name, course, fees, marks
FROM student_data
WHERE course= "Btech";
现在,让检查费用超过15000的学生。
SELECT student_name, fees, marks
FROM student_data
WHERE fees > 15000;
现在,让检查费用超过15000的学生,并且按分数排序。
SELECT student_name, fees, marks
FROM student_data
WHERE fees > 15000
ORDER BY marks;
现在,让选择学习BA English或MBBS的学生,然后按费用排序。
SELECT student_name, fees, marks, course
FROM student_data
WHERE course in('BA English','MBBS')
ORDER BY fees;
所以,可以看到从关系数据库中获取和检索数据非常容易。关系数据库的表格结构是这类数据库的主要优势。这类数据库也非常简单,查询可以用来提取数据或修改现有数据。存储的数据也非常准确。数据有效性检查和数据类型确保了数据的完整性。通过允许特定人员访问,RDBMs也解决了安全问题。