什么是数据库,作用是什么?

数据和数据库(DB)

利用计算机进行数据处理,首先需要将信息以数据形式存储到计算机中,因为数据是可以被计算机接收和处理的符号。根据所表示的信息特征不同,数据有不同的类别,如数字、文字、表格、图形/图像和声音等。

数据库(DataBase,DB),顾名思义,就是存放数据的仓库,其特点是数据按照数据模型组织,是高度结构化的,可供多个用户共享并且具有一定的安全性。

数据库管理系统(DBMS)

数据库管理系统即DBMS(DataBase Management System),它是位于用户应用程序和操作系统之间的数据库管理系统软件,其主要功能是组织、存储和管理数据,高效地访问和维护数据,即提供数据定义、数据操纵、数据控制和数据维护等功能。常用的数据库管理系统有Oracle、Microsoft SQL Server和MySQL等。 数据库系统即DBS(DataBase System),是指按照数据库方式存储和维护数据,并向应用程序提供数据访问接口的系统。DBS通常由数据库、计算机硬件(支持DB存储和访问)、软件(包括操作系统、DBMS及应用开发支撑软件)和数据库管理员(DataBase Administrator,DBA)四个部分组成。其中,DBA是控制数据整体结构的人,负责数据库系统的正常运行,承担创建、监控和维护整个数据库结构的责任。

什么是SQL语言?

结构化查询语言(Structured Query Language,SQL)是用于关系数据库操作的标准语言,最早由Boyce和Chambedin在1974年提出,称为SEQUEL语言。 目前,许多关系型数据库供应商都在自己的数据库中支持SQL语言,如Access、MySQL、Oracle和Microsoft SQL Server等,其中大部分数据库遵守的是SQL-89标准。

SQL语言由以下三部分组成:

  • 数据定义语言(Data Description Language,DDL),用于执行数据库定义的任务,对数据库及数据库中的各种对象进行创建、删除和修改等操作。数据库对象主要包括表、默认约束、规则、视图、触发器和存储过程等。
  • 数据操纵语言(Data Manipulation Language,DML),用于操纵数据库中各种对象,检索和修改数据。
  • 数据控制语言(Data Control Language,DCL),用于安全管理,确定哪些用户可以查看或修改数据库中的数据。

什么是表(table)?

表是在日常工作和生活中经常使用的一种表示数据及其关系的形式


学    号



姓    名



专  业  名



性    别



出 生 时 间



150201



王  一



计算机





1996/10/01



150202



王  巍



计算机





1997/02/08



150302



林  滔



电子工程





1996/04/06



150303



江为中



电子工程





1999/12/08


表结构
每个数据库包含若干个表。每个表具有一定的结构,称为表的“型”。所谓表型是指组成表的各列的名称及数据类型,也就是日常表格的“栏目信息”。
记录
每个表包含若干行数据,它们是表的“值”,表中的一行称为一个记录(Record)。因此,表是记录的有限集合。
字段
每个记录由若干个数据项构成,将构成记录的每个数据项称为字段(Field)。字段包含的属性有字段名、字段数据类型、字段长度及是否为关键字等。
关键字
在学生表中,若不加以限制,则每条记录的姓名、专业、性别和出生时间这四个字段的值都有可能相同,但是学号字段的值对表中所有记录来说则一定不同,即通过“学号”字段可以将表中的不同记录区分开来。

73 数据库基本概念_数据库
什么是视图(view)?

视图是从一个或多个表(或视图)导出的表。视图与表不同,它是一个虚表,即视图所对应的数据不进行实际存储,数据库中只存储视图的定义,对视图的数据进行操作时,系统根据视图的定义操作与视图相关联的基本表。视图一经定义后,就可以像表一样被查询、修改、删除和更新。使用视图具有便于数据共享、简化用户权限管理和屏蔽数据库的复杂性等优点。

常用SQL查询指令(SELECT)

完备的SELECT语句很复杂,它主要的子句如下:

SELECT [DISTINCT] [别名.]字段名或表达式 [AS 列标题]/* 指定要选择的列或行及其限定 */
//(a)
FROM table_source /* FROM子句,指定表或视图 */
[ WHERE search_condition ] /* WHERE子句,指定查询条件 */
//(b)
[ GROUP BY group_by_expression ]
/* GROUP BY子句,指定分组表达式 */
[ ORDER BY order_expression [ ASC | DESC ]]
/* ORDER BY子句,指定排序表达式和顺序 */
//(c)

(1)查询Student数据库。查询students表中各个同学的姓名和总学分。

USE Student SELECT name,totalscore FROM students

(2)查询表中所有记录。查询students表中各个同学的所有信息。

SELECT * FROM students

(3)条件查询。查询students表中总学分大于等于120的同学的情况。

SELECT * FROM students WHERE totalscore >=  120

(4)多重条件查询。查询students表中所在系为“计算机”且总学分大于等于120的同学的情况。

SELECT * FROM students WHERE department='计算机' AND totalscore >= 120

(5)使用LIKE谓词进行模式匹配。查询students表中姓“王”且单名的学生情况。

SELECT * FROM students WHERE name LIKE '王_'

常用SQL插入指令(INSERT)

INSERT可添加一条或多条记录至一个表中。

INSERT有两种语法形式。

语法1:

INSERT INTO target [IN externaldatabase] (fields_list)    //(a)
{DEFAULT VALUES|VALUES(DEFAULT|expression_list)} //(b)

语法2:

INSERT INTO target [IN externaldatabase] fields_list
{SELECT…|EXECUTE…}
insert into teacher values(”,’allen’,'大连一中’,'1976-10-10′);

常用SQL删除指令(DELETE)

DELETE用于从一个或多个表中删除记录。

DELETE语句的语法格式如下:

DELETE FROM table_names
[WHERE…]

例如,用以下语句从students表中删除姓名为“罗亮”的记录:

DELETE FROM students
WHERE name = '罗亮'

常用SQL修改指令(UPDATE)

UPDATE语句用于更新表中的记录。

UPDATE语句的语法格式如下:

UPDATE table_name
SET Field_1=expression_1[,Field_2=expression_2…]
[FROM table1_name|view1_name[,table2_name|view2_name…]]
[WHERE…]

其中,Field是需要更新的字段,expression表示要更新字段的新值表达式。

例如,以下语句将计算机系学生的总分增加10:

UPDATE students
SET totalscore = totalscore +10
WHERE department = '计算机'