参考自《SQL Server 2014 数据库原理与应用》 鲁宁 人民邮电出版社
本文重点:
●关系型数据库管理系统 (Relational Database Management System,RDBMS)
●SQL(Structured Query Language,结构化查询语言)
●ODBC(Open Database Connectivity,开放数据库互联)
●SQL Server
用二维表结构来表示实体及实体之间联系的模型称为关系模型。关系模型中的基本数据逻辑结构是一张二维表。关系数据库已成为数据库技术的主流。
●关系模型术语
数据库系统(Database System,DBS)是采用数据库技术的计算机系统。广义的数据库系统由数据库、数据库管理系统、应用系统、数据库管理员和用户构成。
——
数据库管理系统(Database Management System,DBMS),是一种负责数据库的定义、建立、操作、管理和维护的系统管理软件。数据库管理系统位于用户和操作系统之间,负责处理用户和应用程序存取、操纵数据库的各种请求。常用的大型DBMS:SQL Server、Oracle、Mysql等。
数据库应用系统是指在数据库管理系统提供的软件平台上,结合各领域的应用需求开发的软件产品。
●MySQL
MySQL是一个关系型数据库管理系统 (Relational Database Management System,RDBMS),属于 Oracle 旗下的开源产品,在 WEB 应用方面相当出色。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
●SQL Server
SQL Server是一个关系型数据库管理系统,由微软公司开发,相比于MySQL,拥有更好的技术支持以及更昂贵的授权费用。
SQL(Structured Query Language,结构化查询语言)是关系数据库的标准语言。
SQL语言的组成:
一些SQL语句的执行需要特定权限。
Unicode(万国码)为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。Unicode编码共有三种具体实现,分别为utf-8,utf-16,utf-32(utf:Unicode Transformation Format,针对Unicode的可变长度字符编码,Unicode只是一个字符集,在制定的时候并没有考虑编码的问题),其中utf-8占用一到四个字节,utf-16占用二或四个字节,utf-32占用四个字节。
详见:字符编码的概念
这里暂时都以最简语法表示
CREATE DATABASE database_name
ALTER DATABASE database_name
...
DROP DATABASE database_name
CREATE TABLE tablename
column1 datatype[constraint],
column2 datatype[constraint],
...
columnN datatype[constraint],
——添加新列
ALTER TABLE table_name ADD COLUMN column_name datatype
——删除列
ALTER TABLE table_name DROP COLUMN column_name datatype
DROP TABLE table_name
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
UPDATE table_name
SET column1=value1,column2=value2,...
WHERE some_column=some_value;
DELETE FROM table_name
WHERE some_column=some_value;
FROM字句用来指定检索数据的来源;
WHERE子句用来限制返回的行的搜索条件。
SQL语言使用SELECT语句来实现数据的查询,并按用户要求检索数据,将查询结果以表格的形式返回。
SELECT column_name,column_name
FROM table_name;
ODBC(Open Database Connectivity,开放数据库互联),是微软开放服务结构(WOSA)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API。这些API利用SQL来完成大部分任务。
一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,所有数据库操作由对应的DBMS的ODBC驱动程序完成。ODBC为数据库应用程序访问异构型数据库提供了统一的数据存取API,应用程序不必重新编译、链接就可以与不同的DBMS连接。目前主流的DBMS都已支持ODBC。
一个完整的ODBC由以下几个部件组成:
在使用SQL Server数据库管理系统之前,必须先启动SQL Server服务。
SQL Server Management Studio用于访问、配置和管理所有SQL Server组件的集成环境。
在此栏中选择以下设定:
进入系统后,在左侧【对象资源管理器】列表中可看到系统默认安装的4个系统数据库,如下图所示:
SQL Server用文件存放数据库,数据库是由数据库文件和事务日志文件组成的:
数据库文件(Database File)包含数据库数据和数据库对象,一个数据库可以有多个数据库文件,但一个数据库文件只属于一个数据库。数据库文件可以集合起来放到文件卒中,便于分配和管理。
事务日志文件(Transaction Log File)是记录所有事务以及事务对数据库所做的修改的文件。
文件组(File Group)是将多个数据库文件集合起来形成的一个整体。
创建数据表:右击列表中新建数据库中的【表】,在菜单中点击【新建表】
浏览数据表:单击或双击数据表是无法打开表单页面的,需要右击数据表,在菜单中点击**【选择前1000行】**。无法查看所有行的原因是为了提高查询效率,可以通过设置来实现查看所有行。
使用SQL Server数据导入导出向导可以方便地将外部Excel、文本文件、Access等数据导入SQL Server目标数据库中。
右击新创建的数据库,在菜单中点击【任务】-【导入数据】,在弹出的【SQL Server导入和导出向导】中选择数据源,数据源指要从什么文件导入。注意软件不允许导入高版本的excel,因此建议将高版本的excel另存为低版本:
然后在【选择目标】中选择要将数据导入到哪个数据库中,选择【SQL Server native client 11】:
在【指定表复制或查询】中,选择【复制一个或多个表或视图的数据】;
在【选择源表和源视图】中选择要导入的表,注意有$符号结尾的是excel中的表。在这一步可能会出现导入完成后却找不到导入的表的情况,这时候只需要保存并重启软件即可。
跳过【查看数据类型映射】;
在【保存并运行包】中勾选【立即运行】;
其后一路点击完成向导配置。
在SQL Server中有两种账号:一种是登录服务器(SQL Server)的登录账号(Login Name);另一种是使用数据库的用户账号(User Name)。登录账号本身并不能让用户访问服务器中的数据库,当一个用户创建时,必须关联一个登录名。
系统创建的默认登录账号为sa。sa是超级管理员账号,允许SQL Server的系统管理员登录。
忘记sa的密码后,可以先使用【Windows身份验证】进行登录,进入主界面后选择左侧列表【安全性】-【登录名】-“sa”,右击点击【属性】:
在此处修改密码:
然后执行重新启动的操作:
即可使用sa和更新的密码登录数据库。
用户是服务器针对数据库权限的设置位置。用户是一个或多个登录对象在数据库中的映射。一个登录可对应多个用户,一个用户也可以被多个登录使用。如果没有为一个登录指定数据库用户,则登录时系统会视图将登录名映射成guest用户。