数据库概述及基本操作

摘要:
包含数据库启动信息并用于存储数据的主数据文件。不能独立于数据库文件创建文件组。文件组是对数据库中的文件进行分组的管理机制。SQL数据库的总体逻辑结构是基本表的集合,与概念模式相对应。SQL Server Service Manager的主要作用是启动数据库服务器的实时服务,暂停并停止正在运行的服务,或在服务暂停后继续服务。

目录:数据库概述           SQL Sever的简介

数据库概述

      数据库是相关的多维数据集及其所共享的对象的容器。这些对象包括数据源(表)、表、视图、规则、角色、存储过程、自定义函数等。如果多个多维数据集要共享这些对象,那么这些对象和多维数据集必须在同一个数据库中。简单来说,数据库就是管理数据的地方。 

数据库的发展阶段:层次型、网状型、关系型。 
DB(Database)    DBMS(数据库管理系统)    DBS(数据库系统)RDBMS(关系型数据库管理系统)   

主流的数据库管理系统:SQL Server,Oracle,DB2,sybase,access,foxpro 。

      在对象层次结构中,数据库直接从属于分析服务器。因此,在安装分析服务器后,第一个要创建的对象就是数据库。数据库可以在“数据库”对话框中进行创建

一、数据库的文件组成

数据库可由三种文件组成,主文件(.mdf)、次要数据文件(.ndf)、日志文件(.ldf )、在SQL Server 中,数据库必须至少包含一个主文件和一个事务日志文件。

㈠主要数据文件

该文件包含数据库的启动信息,并用于存储数据。每个数据库都有一个主文件。主文件的扩展名为.mdf。

㈡次要文件

这些文件含有不能置于主要数据文件中的所有数据。如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。

有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。

★次要文件可有多个。

★次要文件的扩展名为.ndf

㈢日志文件

事务日志文件保存用来恢复数据库的日志信息。每个数据库必须至少有一个事务日志文件(尽管可以有多个)。事务日志文件最小为512kb。

数据和事务日志信息从不混合在同一文件中,并且每个文件只能由一个数据库使用。

注意:每个数据库至少有两个文件,一个主文件和一个事务日志文件。

三、文件组

SQL文件组就是文件的逻辑集合。它的目的是为了方便数据的管理和分配。文件组可以把指定的文件组合在一起。

文件组不能独立于数据库文件创建。文件组是在数据库中对文件进行分组的一种管理机制。

文件组的两大作用:

 ㈠分类编辑功能:有三种类型的文件组

1.主文件组

这些文件组包含主数据文件以及任何其它没有放入其它文件组的文件。系统表的所有页都从主文件组分配。

2.用户定义文件组

该文件组是用 CREATE DATABASE 或 ALTER DATABASE 语句中的 FILEGROUP 关键字,或在 SQL Server 企业管理器内的"属性"对话框上指定的任何文件组。

3.默认文件组

默认文件组包含在创建时没有指定文件组的所有表和索引的页。在每个数据库中,每次只能有一个文件组是默认文件组。如果没有指定默认文件组,则默认文件组是主文件组。

 

 在首次创建数据库,或者以后将更多文件添加到数据库时,可以创建文件组。但是,一旦将文件添加到数据库,就不可能再将这些文件移到其它文件组。

一个文件不能是多个文件组的成员。表格、索引以及 text、ntext 和 image 数据可以与特定的文件组相关联。这意味着它们的所有页都将从该文件组的文件中分配。

㈡限制编辑功能

最多可以为每个数据库创建 32767个文件组。文件组只能包含数据文件。事务日志文件不能是文件组的一部分。

三个层次:文件--服务--界面  (DBMS)
两种登录方式的设置:Windows身份登录;SqlServer身份登录。
如何设置SQL Server身份验证?
1.对象资源管理器右击--属性--安全性--SqlServer和Windows身份登录。
2.对象资源管理器--安全性--登录--sa--右击--属性--常规--设置密码
3.对象资源管理器--安全性--登录--sa--右击--属性--状态--授予,启用
4.重启数据库服务。

 数据库概述及基本操作第1张

SQL Sever的简介

(一).什么是SQL Sever

SQL :Structured Query Language.

SQL SERVER是一个以客户/服务器(c/s)模式访问、使用Transact-SQL语言的关系型数据库管理系统(RDBMS),是一种基于网络的大型数据库软件。主要是用SQL语言来管理、修改、和查询数据库。

SQL Server数据库管理系统的三个层次: 1.文件(.mdf,.ldf)。2.界面。3.服务。

体验版——不花钱。 
企业版——花钱。 
开发版——不花钱。

SQL语言标准:国际化标准,Transaction-SQL,PL-SQL。

(二)SQL Server的安装。

运行安装盘上的AUTORUN.EXE。

(三)SQL语言的特点

1.SQL具有自含式与嵌入式两种形式

(1)交互式SQL:一般DBMS都提供联机交互工具,用户可直接键入SQL命令对数据库进行操作由DBMS来进行解释;

(2)嵌入式SQL:能将SQL语句嵌入到高级语言(宿主语言),使应用程序充分利用SQL访问数据库的能力、宿主语言的过程处理能力,一般需要预编译,将嵌入的SQL语句转化为宿主语言编译器能处理的语句。

(3)SQL的语法结构基本一致。

2.SQL具有语言简单、易学易用的特点。
3.SQL支持三级模式结构。

(1)一个SQL数据库的总体逻辑结构是基本表(Table)的集合,对应于概念模式。

(2)SQL数据库的底层存储结构采用文件,一个或几个表对应一个存储文件,以及索引文件,对应内模式。

(3)用户所见的数据结构是视图(View),用户可直接操作的表,可为视图或部分基本表。对应外模式。

无标题

二、主要组件

由企业管理器、查询分析器、服务管理器等组成。

1.服务管理器

SQL Server服务管理器(Service Manager)是在服务器端实际工作时最有用的实用程序。

SQL Server服务管理器的主要作用是用来启动数据库服务器的实时服务、暂停和停止正在运行的服务,或在暂停服务后继续服务。

2.企业管理器

企业管理器(Enterprise Manager:EM)是SQL Server中一个很重要的插件,它通过GUE(图形用户界面)环境管理SQL Server。

层次:根目录、服务器组、服务器。

每一个服务器的名称由以下几项组成:名称、数据库、数据转换服务、管理、复制、安全性、支持服务、Meta Data Service等。

(1)在企业管理器中,可以连接与管理多个服务器。服务器组是用来把比较相似的SQL SERVER2000服务器组织在一起的一种方式,如市场部中有4个服务器,生产部中有6个服务器,可以将这些服务器都组织在“SQL SERVER组中,也可以创建两个服务器组,一个叫做“市场“,一个叫做”生产”,这样比较容易区分服务器的作用。

服务器组的建立:右键单击Microsoft SQL Servers或现有服务器组,从弹出的菜单中选择“新建服务器组”。

服务器组的更名:右键单击要更名的服务器组。

(2)建立服务器

首次访问EM时,第一个任务是将服务器注册。如果在服务器上运行,则本地服务器自动在SQL Server组中注册。

通过EM可以添加新服务器。

3.查询分析器

SQL Server 2000的查询分析器(Query Analyzer)可以使用户交互式地输入和执行各种Transact-SQL语句,并且迅速地查看这些语句的执行结果,来完成对数据库中的数据的分析和处理。

(1)查询分析器的使用

新建查询文件

保存查询文件

aa

(2)使用帮助

运行“联机丛书”组件。

 

二、安装后怎样启用SQL? 

1.在服务窗口中启动所需的SQL服务

数据库概述及基本操作第4张 

2.打开数据库,用windows账户登录 

将 服务器名称改为“.”,代表当前服务器;

身份验证选择Windows身份验证 。

数据库概述及基本操作第5张 

如何用SQLServer身份验证? 
1.在对象资源管理器,右击.对象,选择属性,在属性对话框的左侧选择“安全性”-右侧选择"SQLServer和Windows身份验证" 
2.设置sa的登录密码。 
3.启用sa账户。

4.重启SQL服务 (在SQL窗口中,或者在控制面板的服务窗口中都可以)

5.在身份验证中选择 SQL Server 身份验证,点击连接。

数据库概述及基本操作第6张 

 

如何新建数据库?
……

.ldf——日志文件
.mdf——主数据文件
.ndf——次数据文件
一个数据库中,可以有多个日志文件,多个次数据文件,但只能有一个主数据文件。

如何新建表?
……

行次序无关,列次序无关。

搜狗截图20150108221408

 

SQL语句  DDL DML(增、删、改、查) DCL


insert into 表名(列名,列名,列名,...) values(值,值,值,....)
insert into 表名 values(值,值,值,值。。)


一、简单查询
select * from 表名
select 列名,列名,...from 表名    ——投影
等值与不等值查询
select * from 表名 where 列名=值    --等值查询
不等值查询
select * from 表名 where 列名 <> 值
select * from 表名 where 列名 > 值    >=
select * from 表名 where 列名 < 值    <=

多条件查询  逻辑与(and),逻辑或(or)
select * from 表名 where 条件1 and 条件2 ...
select * from 表名 where 条件1 or 条件2 ...
如果在where筛选条件中,既出现and又出现or,则先运算and。除非使用小括号改变优
先级。

范围查询。
select * from Car where Price >=30 and Price<=50
select * from Car where Price between 30 and 50

select * from Car where Oil=7.4 or Oil=8.5 or Oil=9.4
select * from Car where Oil in(7.4,8.5,9.4)

模糊查询。 一般不用=,而是用like
%——任意多个任意字符
_——一个任意字符
select * from Car where Name like '宝马%'
宝马%——以宝马开头的
%宝马——以宝马结尾的
%宝马%——只要含有宝马这两个字就可以。

__宝马%——代表第三个字符以宝马开头的。

去重查询:
select distinct 列名 from car ——如果列中有重复值,则只查1个出来。

取前几条数据
select top 数量 [列名|*] from 表名

排序
select * from car order by price asc     ——默认是升序 ascending descending
select * from car order by price desc
select * from Car order by Oil asc,Price desc  ——Oil主排序,Price次排序


delete from car ——删除全部数据
delete from car where 条件    ——这里的条件是跟select的条件是一样的。


update 表名 set 列名=值,列名=值..... where 条件
update Car set Price = Price + price * 0.15 where Name like '宝马%'
update Car set Name='300C 3.5L 商用车',Oil='9' where Code='c012'

分组查询:

链接查询:
第一步:求笛卡尔积
select * from Info,nation
第二步:根据两个表相对应的列,对笛卡尔积进行有效数据的筛选。
select * from Info,Nation where Info.Nation = Nation.code
第三步:调整显示要查询的列
select Info.Code,Info.Name,Info.Sex,Nation.Name,Info.Birthday
from Info,nation where Info.Nation=Nation.Code

select * from 表名1
join 表名2 on 表名1.列 = 表名2.列
join 表名3 on 表名2.列 = 表名3.列
....
where 查询条件

select Car.Name,Brand.Brand_Name,Productor.Prod_Name,Car.Price
from Car
join brand on Car.Brand = Brand.Brand_Code
join Productor on Brand.Prod_Code = Productor.Prod_Code
where Price > 50

select*from Car 简单查询 select Name,Price from Car  select *from Car where Price >5 条件查询 select *from Car where Price >6 and Oil<9 多条件查询 select *from Car where Price <40and Price >15 范围查询   select*from Car where Name like '锐志%'  模糊查询 select*from Car where Name like '__A%'   select distinct Brand from Car   去重查询 select *from Car order by Price  排序 delete from Car  删除 delete from Car where Price >50 update Car set Price =Price *2where Name like'锐志%'  改变 select *from Car join Brand on Car.Brand =Brand.Brand_Code  链接查询

免责声明:文章转载自《数据库概述及基本操作》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇OpenCV 2.4+ C++ 人脸识别MySQL-8.0.21安装下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

oracle正则表达式regexp_like的用法详解

ORACLE中的支持正则表达式的函数主要有下面四个:1,REGEXP_LIKE :与LIKE的功能相似2,REGEXP_INSTR :与INSTR的功能相似3,REGEXP_SUBSTR :与SUBSTR的功能相似4,REGEXP_REPLACE :与REPLACE的功能相似它们在用法上与Oracle SQL 函数LIKE、INSTR、SUBSTR 和RE...

华为高斯GaussDB T数据库实战培训(7小时速成版)

为满足各位学员对新技术的学习需求,让大家快速入门学习高斯GaussDB国产数据库,风哥推出了华为GaussDB T数据库实战培训教程(速成版),主要包括内容:GaussDB T数据库基础知识、GaussDB T单机安装配置、GaussDB T HA主备安装配置、GaussDB T分布式集群安装配置、GaussDB T数据库管理入门。 风哥推出的华为高斯Ga...

数据库(DDL、DML、DQL)

数据库 数据库的特点: 持久化存储数据的。其实数据库就是一个文件系统 方便存储和管理数据 使用了统一的方式操作数据库 -- SQL 什么是SQL?Structured Query Language:结构化查询语言 SQL分类 DDL(Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列等。关键...

elementui中自定义Select选择器样式自定义

<el-select v-model="tenantCont" placeholder="请输入机构标识"> <el-option-group v-for="group in options" :key="group.label" :label="group.label"...

关于Oracle表碎片整理

数据库在日常使用过程中,不断的insert,delete,update操作,导致表和索引出现碎片是在所难免的事情,碎片多了,sql的执行效率自然就差了,道理很简单,高水位线(HWL)下的许多数据块都是无数据的,但全表扫描的时候要扫描到高水位线的数据块,也就是说oracle要做许多的无用功!因此oracle提供了shrink space碎片整理功能。对于索引...

oracle查询连接数、并发数、共享池大小

1、查看当前数据库建立的会话情况: select sid,serial#,username,program,machine,status from v$session; 2、查询数据库当前进程的连接数: select count(*) from v$process; 3、查看数据库当前会话的连接数: select count(*) from v$sessi...