当前位置:首页 » 操作系统 » 五班数据库

五班数据库

发布时间: 2024-04-23 13:59:57

1. 利用SPOT-5遥感影像更新土地利用数据库技术的探讨——以黑龙江省望奎县为例

王志 魏丽君

(黑龙江省国土资源勘测规划院,哈尔滨,150056)

摘要:更新土地利用数据库是国土资源信息化建设的重要内容,是为各级土地管理部门的土地利用变更调查、土地规划、耕地保护、建设项目用地管理等提供准确、翔实、现势性的基础数据。本文具体结合黑龙江省望奎县数据库更新的实际情况,着重对利用SPOT-5遥感影像更新土地利用数据库技术所采用的一些新技术、新方法加以阐述,对更新土地利用数据库存在的问题加以分析,并且提出解决问题的办法。

关键词:遥感;土地利用更新;数字正射影像图;“3S”;望奎县;黑龙江省

遥感技术应用始于20 世纪50年代,至今已经历了50 多年的发展。随着遥感卫星技术的进步,遥感影像分辨率得到大幅度的提高,并以速度快、时间短、成本低等许多优势,在国土资源调查方面已被广泛应用。特别是在利用遥感技术快速更新土地利用数据库方面,提供了重要的技术支持。

县级土地管理是整个土地管理的基础,由于近年来经济与社会的高速发展,土地利用基础图件在更新上落后于土地利用状况变化,不能准确、及时地反映土地利用状况。大大阻碍了经济、社会发展的需要。在此背景下,应用遥感技术更新土地利用数据库已迫在眉睫,使用高分辨率遥感数据源,结合 GPS 和 GIS 技术实现土地利用数据库的更新,从而为各级土地管理部门提供准确、翔实、现势性强的土地利用状况信息。为此,本文以黑龙江省望奎县为例,采用 SPOT-5 2.5 m 高分辨率卫星遥感数据为信息源,将制作好的1∶1万遥感数字正射影像图与土地详查矢量数据叠加,通过矢量、栅格结合的方法,辅以专家知识、人机交互提取变化信息,将外业调查后的变化信息属性赋予矢量数据,然后重新建立拓扑关系,生成更新后的土地利用数据库。

1 项目区的基本情况

望奎县是黑龙江省以农业为主的一个县,位于黑龙江省中部,松嫩平原与小兴安岭西南边缘过渡地带。地处东经126°10′23″~126°59′00″,北纬46°32′07″~47°08′24″。东南以克音河、诺敏河、呼兰河三条界河与绥化市、兰西县相邻,西以通肯河为界,与青冈县相望,北与海伦市接壤。全县幅员面积2320km2,南北长约62km,东西宽约60km。

望奎县形状近似平行四边形,由于受小兴安岭余脉的影响,地势东高西低,东西坡降约在千分之一,南北坡降三千分之一左右。最高海拔250.9m,最低点海拔127.8m,绝对高差123.1m,平均海拔167m。地貌类型大体可分三个单元,东部和南部丘陵起伏漫川漫岗,中部过渡地带微有起伏,西部低洼平坦。

2 总体技术路线

利用遥感影像更新土地利用数据库,自动化程度较高,能够及时、真实、客观地反映土地利用状况。因此,利用 SPOT-5 2.5 m 遥感影像来更新望奎县土地利用数据库,与日常采用的变更方法相比,在总体技术路线上,会有一些新的特点。

2.1 影像土地分类采样表的建立

总体上来说,项目区域特点不同,比如山区、丘陵、平原、沙漠等,在遥感影像上反映出的地类表征不同。而且,选择分辨率的高低与影像的时相等各方面,也会影响着遥感影像反映出的地类表征。因此,建立起一个适合本项目区域的影像土地分类采样表对于内业解译、提取变化信息显得非常重要。土地分类采样表也就是影像的解译标志,它是在影像上能直接反映和判别地物信息的影像特征,它是识别地物属性的主要依据,包括形状、大小、图案、色调、纹理、阴影、位置、布局、分辨率等。在望奎县数据库更新项目选取法国 SOPT-5遥感影像,通过野外调查确定和地物间的对应关系,借助有关辅助信息(规划图、地形图等有关资料等),对各类型在影像图上反映的特征做出描述,建立起一套有代表性的影像土地分类采样表,大大方便了内业解译与变化信息提取工作。图1为采样表的一部分。

图1 影像土地分类采样表

2.2 “3S” 集成技术在更新土地利用数据库中的综合应用

“3 S”集成技术是指 RS (Remote Sensing)、GPS (Global Positioning System)、GIS (Geographical Information System)在平行发展的进程中,逐渐综合应用的技术,三者的有机结合,构成了一个一体化信息获取、信息处理、信息应用的技术系统,是一个充分利用各自技术特点的空间技术应用体系,并逐步成为一个实践性和应用性较强的新学科。

一方面,GPS 测量在 SOPT -5 遥感影像制作(几何校正配准)中的应用,在SOPT-5 遥感影像上选取明显地物点,通过外业 GPS 高精度测量来进行影像图的几何纠正,制作 1∶1 万遥感数字正射影像图;另一方面在 GIS 支持下的土地利用更新,包括数据矢量化编辑、叠加、拓扑关系的建立。在望奎县土地利用更新过程中,使用的是国产 GIS 软件,即武汉中地公司开发的 MAPGIS6.5 软件来进行的土地利用数据库的更新工作。

2.3 矢量数据与栅格数据相结合,多种信息提取方法并用

矢量数据主要包括土地利用现状数据库;栅格数据主要包括1∶1 万遥感数字正射影像图和扫描纠正后的土地利用现状图。通过矢量数据和栅格数据对比分析,进行矢量化更新,提取变化信息。信息提取方法包括人工目视解译、计算机自动提取、人工目视解译与计算机自动提取相结合。本次更新中主要采用的是以人工目视解译为主,人机交互式进行土地利用数据库的更新。

2.4 遥感数据与土地利用基础图件相结合

充分利用土地利用现状调查、城镇地籍调查、行政勘界、建设用地批次用地成果、土地整理、复垦成果以及日常变更数据辅助确定土地利用类型与变化情况,减少外业调查工作量,缩短更新土地利用数据库的时间。而且,保证了土地利用类型的准确性。

2.5 内业判读,外业核查的路线

遥感对地观测仅仅反映了地物的光谱特性,即土地覆盖的表征,而土地利用图反映的是土地利用的状况,土地覆盖的变化并非完全代表土地利用的变化。此外,通过人工目视解译提取出来的变化属性信息需要外业调查,如零星地物、线状地物的宽度以及权属等。因此,需要内、外业相结合确定土地利用类型,这样可以保证本次更新的彻底性,做到不重不漏,实现土地利用数据库的全面更新。

3 工作方法

工作方法主要分为四个步骤:①SPOT-5 2.5 m遥感影像处理过程,包括制作1∶1 万遥感数字正射影像图;②内业处理过程,包括变化信息提取、外业前图件制作;③外业调查过程,包括核实变化信息、调查零星地物及线状地物宽度、权属界线等;④土地利用数据库的更新入库过程。工作流程图见图2。

3.1 制作 1∶1 万遥感数字正射影像图

卫星遥感数字正射影像图(Remote Sensing Digital Orthophoto Map,简称RSDOM),是利用卫星遥感获取的具有一定分辨率的全色影像及多光谱影像,经几何纠正及相应的图像处理后生成的影像数据集,它同时具有地图的几何特性和影像特征。本次遥感影像数据源采用的是法国 SPOT-5 2.5 m 全色影像与10 m 多光谱数据卫星数据,其数据分辨率完全满足数据库更新的要求。景宽为60km2×60km2,含云量为零,以整景为单元,利用卫星影像处理软件 ERDAS,将2.5m 全色影像与10m 多光谱数据融合。由于望奎县地势较为平坦,故采用加权乘法的融合方法,其优点是能较好地保留高分辨率图像的纹理信息及多光谱图像的彩色信息,制作卫星遥感数字正射影像图。再利用图像处理软件 photomapper制作1∶1 万数字正射影像图。影像处理技术流程见图3。

3.2 内业处理

利用国产 GIS 软件 MAPGIS6.5,建立工程数据,通过矢量数据与栅格数据相结合的方法,通过遥感影像与土地利用矢量数据对比,人机交互式进行数据库更新。在内业中无法判定的信息,特殊标记出来,在制作外业图件时同时打印出来,以便通过外业调查来核实土地利用变化状况。

图2 数据库更新工作流程图

矢量化更新采集包括:①图形数据的更新采集,采用分层方式进行,分层按《建库标准》要求,主要包括等高线、水系、道路、行政界线、权属界线、地类界、其他带有宽度的线状地物、零星地物、文字注记等,同时根据建库软件的需要,对各主要层次进行细分,以达到不同图形要素可以明显区分,在建库时分别采用;②属性数据的更新采集,严格以外业提供的表格地类属性为准,大部分属性通过分类编码、图层、实体定义加以区分和自动转换,再通过几何图形的相对位置关系确定其权属;③图幅数据的接边工作,接边按照规范所规定的原则将相邻图幅分割开的同一图形对象不同部分拼接成完整对象,接边处理包括图形接边和属性接边,属性接边就是确保相邻图幅接边要素其属性的一致性。

3.3 外业调查

外业调查是获取土地现状信息的关键和基础,如果没有扎实细致的外业调查工作,即使是最新的遥感影像数据,也无法准确地判读。另外,项目涉及的合乡合村权属界线的调查工作,也必须实地调查。外业调查包括行政界线调查、权属界线调查、零星地物调查、线状地物宽度调查、地类调查、调查居民点、用地单位和河流等名称调查等。依据《土地利用更新调查技术规定》及相关技术规定,按照《全国土地分类》(过渡期间适用)三级分类标准,将所有外业调查信息记录在“土地利用更新调查记录手簿”上。

图3 影像处理技术流程图

3.4 土地利用数据库更新

本次更新所采用的数据库软件是爱地土地利用管理信息系统。因此,首先修改数据字典,然后修改分幅索引图数据和行政区索引图数据,最后将准确的入库所需要的文件包括零星地物点文件、线状地物线文件、地类图斑面文件以及图廓整饰注记点文件进行入库,然后进行全县面积的统计汇总、标准格式的分幅土地利用现状图的输出以及各种土地汇总表格的打印。

4 存在问题与解决方法

项目采用 SPOT-5 遥感影像更新土地利用数据库,发挥了遥感影像获取数据速度快、精度高、范围广的特点,既缩短调查时间,又保证调查精度、节省调查费用。但在本次更新调查过程中也发现了一些问题,有待于进一步研究和解决。

4.1 影像处理与精度评定

在 SPOT-5 遥感影像处理方面,影像质量应层次丰富、清晰易读、色调均匀、反差适中。本次项目在影像处理方面虽然满足了工作要求,但在影像质量上还要有所提高,从长远来看,如果选用数据源为美国的快鸟,那么它的分辨率为0.61m,与 SPOT-5 2.5m相比分辨率高出了4 倍多,这对影像处理质量方面要求更高。它不仅直接影响着变化信息的提取,而且还影响着目视解译的准确性。所以应该积累经验,加强在影像处理质量上的提高。

精度评定是对数字正射影像图制作质量的一个评定标准。精度评定采用外业特征控制点实测坐标与其影像同名点图像坐标的较差作为评定参考,可以借助 GPS 在影像上同名地物点上实地测量坐标,与图像坐标进行较差分析,这是利用遥感影像更新土地利用数据库前期的一个重要环节。只有符合国家标准,才可以利用遥感影像来进行更新工作。

4.2 矢量化线状地物的偏移处理与屏幕矢量采集处理问题

通过矢量、栅格数据结合的方法,将土地利用数据库与1∶1 万数字正射影像图套合更新,出现矢量线状地物与同名影像上线状地物偏移的问题。根据国家标准与黑龙江省土地利用更新技术方案要求,在数据库文件与影像套合时,当矢量线条与影像上的同名线状地物偏差大于图上1 mm (相当于 SPOT-5 2.5 m 影像的4个像素)时视为偏移,对偏移的线状地物应进行纠正,如果偏移的线状地物不发生宽度、地类码的变更,可采用线工具中平移、复制等进行纠正处理;如果属性改变,将通过外业调查核实变化信息。

在此基础上,通过影像进行屏幕矢量线状地物偏移处理。与此同时,又涉及到一个屏幕放大倍数的问题,如果在屏幕采集时放大倍数过大,将会出现影像的失真,看不清线状地物的边缘轮廓,影响线状地物的偏移处理位置;但屏幕采集时放大倍数过小,又会出现线状地物偏移处理不完全,过于粗糙,套合不准确。在项目进行时经过多次实验,一致认为参照遥感影像矢量化放大倍数标准为 0.9 倍为宜。这样,既保证了影像的边缘清晰、不失真效果,又保证了线状地物偏移处理的完全性。

4.3 数据库更新的工作量较大

与传统更新方法相比,利用 SPOT-5 遥感影像更新土地利用数据库优势非常的明显。但是由于涉及前期的准备和外业调查工作量依然很大,在前期提取变化信息时,主要还是采用人工目视解译。而且,土地利用数据库还是20世纪90年代初的详查成果,所以提取变化信息数量较大。本次更新项目提取的变化地块近两万块,不仅如此,还要通过外业将提取的变化信息一一核实,并且每一个变化信息都要记录在“土地利用更新调查记录手簿”上。这个工作量也较大,而且有不可避免的人为误差存在。所以,在利用遥感影像更新土地利用数据库同时,应该在此基础上研究探索,寻求更有效的方法在计算机上进行变化信息的提取,减少外业的工作量,提高数据的准确性。

4.4 完善数据质量检查机制,数据库更新进一步规范

数据质量检查贯穿更新土地利用数据库项目的始终,是数据库建设工作中极其重要的组成部分,其工作量占整个建库工作的60%以上,数据质量检查是保障数据库质量的重要工具。质量检查包括计算机逻辑检查和人工检查,主要是针对数据结构和精度进行检查。本次项目中成立三级质量检查机制,有小组自检、一级检查和二级检查,为项目的质量保驾护航。

在项目实施的同时,完全参照国家有关标准和要求以及省级出台的有关规范。但是,在项目进行当中,有些比较细致的工作仍无章可循。所以,在更新土地利用数据库方面还需要进一步规范标准和要求,以便达到数据的共享。

4.5 需要培养一支高素质的土地更新调查队伍

在项目进行的前期,需要对更新土地利用数据库队伍进行强化培训。因为,更新调查质量好坏决定着更新项目的成败;而且,土地更新调查涉及到土地管理、地学、土壤学、农学、测绘学、信息学等多门学科,调查人员必须具备上述各学科的理论知识和应用技能,才能保证土地更新调查的质量。

采用 SOPT-5 遥感影像更新土地利用数据库与传统方法相比,省时快速、减少人力、节约资金、数据准确,保证了更新调查成果质量,为新一轮土地利用总体规划修编、农村集体土地登记发证、基本农田保护、土地开发复垦整理、建设用地审批等提供了准确、翔实的数据。而且,遥感技术的应用将会推动土地变更调查工作自动化和土地资源信息化,大大提高土地利用变更调查数据的准确性和及时性,从根本上解决土地利用现状图的更新问题。

参考文献

陈建平.基于“3S”技术的土地利用现状更新调查.浙江省第二测绘院,2005

周飞.广西土地利用更新调查数据库建设作业流程及存在问题初探.广西测绘,2005 (2)

刘凤仙,张玮,陈应辉.县级土地利用现状数据库更新的方法探讨.北京:地质出版社,2005

任凌.应用“3S”集成技术进行土地利用动态监测.河南省安阳市国土资源局规划科,2005

土地利用调查新技术新方法培训班学习资料.国土资源部干部教育培训中心,2005 (9)

王力,尹君等.基于 RS 和 GIS 的土地利用变更研究.国土资源科技管理,2005 (2)

赵爱华,杨凤海等.“3S”技术在土地生态环境调查中的应用.北京:地质出版社,2005

土地利用更新调查技术规定.国土资源部,2004 (3)

刘顺喜.土地资源调查.北京:当代中国出版社,2006

2. sql和MySQL有什么区别

mssql和mysql的区别
mssql 是微软的那个 SQL Server,运行于windows 2000,2003等平台

mysql 是个开源的数据库Server,可运行在windows平台、unix\\linux平台,其标准版是免费的,可以到www.mysql.com 看看

asp\\php只是一种解释语言,不一定mssql不能用php,也不一定mysql非得用php,只不过asp-mssql,php-mysql是一种常用的组合

SQL数据库完全手册_1

SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。
##1 二、SQL数据库数据体系结构
SQL数据库的数据体系结构基本上是***结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。名称对称如^00100009a^:
##1 三、SQL语言的组成
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成:
1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3.一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。
4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。
5.用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。
6.SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。
##1 四、对数据库进行操作
SQL包括了所有对数据库的操作,主要是由4个部分组成:
1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。
2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。
3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。
4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。
下面我们将分别介绍:
##2 (一)数据定义
SQL数据定义功能包括定义数据库、基本表、索引和视图。
首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^)
1.数据库的建立与删除
(1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为:
CREATE DATABASE <数据库名> 〔其它参数〕
其中,<数据库名>在系统中必须是唯一的,不能重复,不然将导致数据存取失误。〔其它参数〕因具体数据库实现系统不同而异。
例:要建立项目管理数据库(xmmanage),其语句应为:
CREATE DATABASE xmmanage
(2) 数据库的删除:将数据库及其全部内容从系统中删除。
其语句格式为:DROP DATABASE <数据库名>
例:删除项目管理数据库(xmmanage),其语句应为:
DROP DATABASE xmmanage
2.基本表的定义及变更
本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改。
(1)基本表的定义:基本表是非导出关系,其定义涉及表名、列名及数据类型等,其语句格式为:
CREATE TABLE〔<数据库名>.〕<表名>
(<列名> 数据类型 〔缺省值〕 〔NOT NULL / NULL〕
〔,<列名> 数据类型 〔缺省值〕 〔NOT NULL / NULL〕〕......
〔,UNIQUE (列名〔,列名〕......)〕
〔,PRIMARY KEY(列名)〕
〔,FOREIGN KEY(列名〔,列名〕......)REFERENCE <表名>(列名〔,列名〕......)〕
〔,CHECK(条件)〕 〔其它参数〕)
其中,〈数据库名〉.〕指出将新建立的表存放于该数据库中;
新建的表由两部分组成:其一为表和一组列名,其二是实际存放的数据(即可在定义表的同时,直接存放数据到表中);
列名为用户自定义的易于理解的名称,列名中不能使用空格;
数据类型为上面所介绍的几种标准数据类型;
〔NOT NULL/NULL〕指出该列是否允许存放空值,SQL语言支持空值的概念,所谓空值是“不知道”或“无意义”的值,值得注意的是数据“0”和空格都不是空值,系统一般默认允许为空值,所以当不允许为空值时,必须明确使用NOT NULL;
〔,UNIQUE〕将列按照其规定的顺序进行排列,如不指定排列顺序,则按列的定义顺序排列;
〔PRIMARY KEY〕用于指定表的主键(即关系中的主属性),实体完整性约束条件规定:主键必须是唯一的,非空的;
〔,FOREIGN KEY (列名〔,列名〕......) REFERENCE<表名>(列名〔,列名〕......)〕是用于指定外键参照完整性约束条件,FOREIGN KEY指定相关列为外键,其参照对象为另外一个表的指定列,即使用REFERENCE引入的外表中的列,当不指定外表列名时,系统将默认其列名与参照键的列名相同,要注意的是:使用外键时必须使用参照,另外数据的外键参照完整性约束条件规定:外键的值要么与相对应的主键相同,要么为空值(具体由实现系统不同而异)
〔,CHECK〕用于使用指定条件对存入表中的数据进行检查,以确定其合法性,提高数据的安全性。
例:要建立一个学生情况表(student)
CREATE TABLE student //创建基本表student
(st_class CHAR(8),// 定义列st_class班级,数据类型为8位定长字符串
st_no CHAR(10) NOT NULL,//定义列st_no学号,类型为10位定长字符串,非空
st_name CHAR(8) NOT NULL,//定义列st_name姓名,类型为8位定长字符串,非空
st_sex CHAR(2),//定义列st_sex性别,类型为2位定长字符串
st_age SMALLINT,//定义列st_age年龄,类型为短整型
PRIMARY KEY (st_no))//定义st_no学号为主键。
例:要建立课程设置表(subject)
CREATE TABLE subject//创建基本表subject
(su_no CHAR(4) NOT NULL,// 定义列su_no课号,类型为4位定长字符串,非空
su_subject CHAR(20) NOT NULL,// 定义列su_subject课程名,类型为20位定长字符串,非空
su_credit INTEGER,// 定义列su_credit学分,类型为长整数
su_period INTEGER,//定义列su_period学时,类型为长整数
su_preno CHAR(4),//定义列su_preno先修课号,类型为4位定长字符串
PRIMARY KEY(su_no))//定义su_no课号为主键。
例:要建立学生选课表(score)
CREATE TABLE score //创建基本表score
(st_no CHAR(10),//定义列st_no学号,类型为10位定长字符串
su_no CHAR(4),//定义列su_no课号,类型为4位定长字符串
sc_score INTEGER NULL,//定义列sc_score,类型为长整形,可以为空值
FOREIGN KEY (st_no) REFERENCE student,//从表student中引入参照外键st_no,以确保本表与表student的关联与同步
FOREIGN KEY (suno) REFERENCE subject)//从表subject中引入参照外键su_no,以确保本表与表subject的关联与同步
(2)基本表的删除:用以从数据库中删除一个基本表及其全部内容,其语句格式为:
DROP TABLE〔<数据库名>.〕表名
例如:将上面建立的表都删除
DROP TABLE student,subject,score
(3)基本表的修改:在基本表建立并使用一段时间后,可能需要根据实际要求对基本表的结构进行修改,即增加新的属性或删除属性。

增加属性的语句格式为:
ALTER TABLE 〔<数据库名>.〕表名 ADD
(<列名> 数据类型 〔缺省值〕 〔NOT NULL / NULL〕
〔,<列名> 数据类型〔缺省值〕〔NOT NULL / NULL〕〕......
〔,UNIQUE (列名〔,列名〕......)〕
〔,PRIMARY KEY(列名)〕
〔,FOREIGN KEY(列名〔,列名〕......) REFERENCE <表名>(列名〔,列名〕......)〕
〔,CHECK(条件)〕〔其它参数〕)
例如:在基本表student中加入列stborn出生日期,数据类型为DATE,且不能为空值
ALTER TABLE student ADD (stborn DATE NOT NULL)
删除属性的语句格式为:
ALTER TABLE 〔<数据库名>.〕表名 DROP
( <列名> 数据类型 〔缺省值〕〔NOT NULL / NULL〕
〔,<列名> 数据类型 〔缺省值〕〔NOT NULL / NULL〕〕......)
例如:将基本表student中的列st_age删除
ALTER TABLE student DROP (st_age)
3.视图定义与删除
在SQL中,视图是外模式一级数据结构的基本单位。它是从一个或几个基本表中导出的表,是从现有基本表中抽取若干子集组成用户的“专用表”。这种构造方式必须使用SQL中的SELECT语句来实现。在定义一个视图时,只是把其定义存放在系统的数据中,而并不直接存储视图对应的数据,直到用户使用视图时才去求得对应的数据。
(1)视图的定义:定义视图可以使用CREATE VIEW语句实现,其语句格式为:
CREATE VIEW 视图名 AS SELECT语句
从一个基本表中导出视图:
例:从基本表student中导出只包括女学生情况的视图
CREATE VIEW WOMANVIEW AS //创建一个视图WOMANVIEW
SELECT st_class,st_no,st_name,st_age //选择列st_class,st_no,st_name,st_age显示
FROM student //从基本表student引入
WHERE st_sex=‘女’//引入条件为性别为“女”,注意字符变量都使用单引号引用
从多个基本表中导出视图:
例如:从基本表student和score中导出只包括女学生且分数在60分以上的视图
CREATEVIEW WOMAN_SCORE AS //定义视图WOMANSCORE
SELECT student.st_class,student.st_no,student.st_name,student.st_age,score.sc_score //有选择性显示相关列
FROM student.score //从基本表student和score中引入
WHERE student.st_sex=‘女’AND score.sc_score>=60 AND student.st_no=score.st_no //选择条件:性别为“女” 且分数在60分以上。并使用st_no将两表联系起来。
以后如果进行这一视图的应用,则只需使用语句
SELECT * FROM WOMAN_SCORE //其中“*”为通配符,代表所有元素
(2)视图的删除:用于删除已不再使用的视图,其语句格式如下:
DROP VIEW 视图名
例:将上面建立的WOMAN_SCORE视图删除
DROP VIEW WOMAN_SCORE
4.索引的定义与删除
索引属于物理存储概念,而不是逻辑的概念。在SQL中抛弃了索引概念,直接使用主键概念。值得一提的是,有些关系DBMS同时包括索引机制和主键机制,这里我们推荐使用主键机制,因为它对系统资源占用较低且效率较高。
(1)索引的定义:索引是建立在基本表之上的,其语句格式为:
CREATE 〔UNIQUE〕 INDEX 索引名 ON
〔<数据库名>.〕表名(列名 〔ASC/DESC〕〔,列名 〔ASC/DESC〕〕......)
这里,保留字UNIQUE表示基本表中的索引值不允许重复,若缺省则表示索引值在表中允许重复;DESC表示按索引键降序排列,若缺省或ASC表示升序排列。
例:对基本表student中的st_no和st_age建立索引,分别为升序与降序,且索引值不允许重复
CREATE UNIQUE INDEX STINDEX ON//创建索引STINDEX
student(st_no ASC,st_age DESC)//对student中的st_no和st_age建立索引
(2)索引的删除:
DROP INDEX 索引名
例:删除上面建立的索引STINDEX
DROP INDEX STINDEX
##2 (二)数据查询
SQL是一种查询功能很强的语言,只要是数据库存在的数据,总能通过适当的方法将它从数据库中查找出来。SQL中的查询语句只有一个:SELECT,它可与其它语句配合完成所有的查询功能。SELECT语句的完整语法,可以有6个子句。完整的语法如下:
SELECT 目标表的列名或列表达式集合
FROM 基本表或(和)视图集合
〔WHERE条件表达式〕
〔GROUP BY列名集合
〔HAVING组条件表达式〕〕
〔ORDER BY列名〔集合〕…〕
整个语句的语义如下:从FROM子句中列出的表中,选择满足WHERE子句中给出的条件表达式的元组,然后按GROUPBY子句(分组子句)中指定列的值分组,再提取满足HAVING子句中组条件表达式的那些组,按SELECT子句给出的列名或列表达式求值输出。ORDER子句(排序子句)是对输出的目标表进行重新排序,并可附加说明ASC(升序)或DESC(降序)排列。

3. 谁可以帮忙做下这个题目呀 数据库课程设计

数据库课程设计报告
计网0831数据库课程设计
1、数据的导入和导出今天是数据库实习的第一天,对于我们来说数据库虽然是今年刚刚学过的课程,但是我们已经考试完一段时间了,所以也很久没有翻书本了,很多知识在刚刚做的时候还是很陌生的,不得不翻一下书本,下面就是在第一天实习中所产生的问题报告和分析结果。
在做实训前,老师先给我们讲了数据库如何导入EXCL表,在老师的指导下我们学会了,为创建表提供了方便。
首先我们是建立了一个新的KCSJ数据库,建立的数据语句如下:
用SQL语句在D:\KCSJ下创建课程设计数据库(KCSJ)
(一)CREATE DATABASE KCSJ
ON
(NAME=KCSJ_DATA,
FILENAME='D:\KCSJ_DATA.MDF')
LOG ON
(NAME=KCSJ_LOG,
FILENAME='D:\KCSJ_LOG.LDF')
将KCSJ.XLS文件中的数据导入KCSJ数据库中。导入后在数据库中将生成以下五个基本表:
学生(学号,姓名,性别,年龄,入学成绩,班级,籍贯)
成绩(学号,课程号,成绩)
课程(课程号,课程名,教师名)
三角形(a,b,c,s)
回文数(A1,A2)
其中:a> 学生、成绩、课程、三角形、回文数是表的名字。
b> 学号、姓名、性别、班级、籍贯、课程名和教师名为字符型,长度分别为10 、10、2、6、8、20、10;
c> 入学成绩为整型。
d> 年龄、课程号和成绩为整型或微整型。
e> A1为整型;A2为字符型,长度为2。
f> a、b、c为float类型,代表三角形的三边,s为float类型,代表三角形的面积。
在导入数据库中KCSJ.XLS文件的数据导入的时候是在所有任务--导入数据—数据源为excel97-2000- 文件位置—导入表中的数据—修改类型和长度 最后确定。
用企业管理器创建数据库(JW0831),将KCSJ数据库中的五个表导入该数据库中。
打开所有任务 导入数据源 选择KSCJ 数据库 下一步 再选择jw0831数据库 选择所有 确定 就可以将KCSJ数据库中的五个表导入该数据库中。
简单的结构化查询
--(1)查询学生的详细记录
select*from 学生
--(2)查询学生表中前两个班级(班级名称不能重复)
select top 2 班级 from 学生
group by 班级
在做本题的时候,由于想的比较复杂,外加题意有点模糊,所以转了很大一个圈,并在老师的侧外指导下通过group by分组才把本题做了出来。
--(3)显示把 成绩表中各科学生的成绩加 20 分后的信息
select*from 成绩
where 成绩='成绩'+20
在做本题的时候,由于题意理解错误,所以我先用updata语句来进行更新,但是在做到其它题的时候,听到老师在指导其它同学的时候,把题意一说,我才恍然大悟,自己的方向又错了。然后又重新思考,接着就做出了上面的答案。
--(4)查询来自逗宁波地 学生的学号、姓名、籍贯
select 学号,姓名,籍贯 from 学生
where 籍贯='宁波'
--(5)查询选修4号课程且考试成绩在70分以上的学生的学号以及所选修的课程号和成绩,显示前3条结果记录
select top 3*from 成绩
where 成绩>=70 and 课程号='4'
--(6)查询入学成绩在 300-400 分之内的学生的详细情况,并按入学成绩降序排序 ( 用两种方法完成 )
select * from 学生
where 300<入学成绩 and 入学成绩<400 order by 入学成绩 desc
select * from 学生
where 入学成绩 between 300 and 400 order by 入学成绩 desc
--(7)统计学生表中的学生人数
select count(*)from 学生
对于今天的题目做的多了,忽然发现很多题的类型都差不多,都是运用基本的书本知识,然后融会贯通,举一反三,然后不费吹灰之力就做出来了,我说的不费吹灰之力是简单的,但是有些还是费了好大一番功夫的。
--(8)查询学生表中姓李,姓名列包含两个字的学生的基本情况
select * from 学生
where 姓名 like '李_'
--(9)查询名字中第 2 个字为‘北'的学生的基本信息
select * from 学生
where 姓名 like '_北%
在做这几道题的时候,我解决了并也明白了—和%得区别和用途
--(10)查询选修 4 号课程,成绩在 80-90 分之间的学生学号和成绩
select*from 成绩
where 80<=成绩 and 成绩<90 and 课程号='4'
--(11)查询 JW0831 班和 JW0551 班学生的姓名、性别及班级(用谓词查询 in )
select 姓名,性别,班级 from 学生 where 班级 in('JW0831','JW0551')
group by 姓名,性别,班级
对于本道题拿到的时候,还是愣了一下的,因为我忽然不知道什么是,对于用谓词查询 in,自己不会用,在翻书翻了一遍并且询问了同学才发现如何去用它。
--(12)查询缺少成绩的学生的学号和相应的课程号
select 学号,课程号 from 成绩
where 成绩 is NULL
--(13)统计选修了4号课程学生人数
SELECT COUNT(*)AS'人数' FROM 成绩 where 课程号='4'
--(14)查询JW0831班家在河北学生的学号、姓名、性别
select 学号,姓名,性别 from 学生
where 籍贯='河北'and 班级='JW0831'
--(15)检索刘志生老师所授课程的课程号和课程名。
select 课程号,课程名 from 课程
where 教师名='刘志生'
---(16)检索年龄大于23岁的男学生的学号和姓名。
select 学号,姓名 from 学生
where 性别='男' and 年龄>23
--(17)查询学生表中姓李的学生的基本情况
select *from 学生
where 姓名 like '李%'
--(18) 统计学生表中所有学生逗入学成绩地的平均分、最高分、最低分
select AVG(入学成绩) as'平均成绩',max(入学成绩) as'最高分',min(入学成绩) as'最低分'from 学生
--(19)查询选修了1号或者3号课程,成绩及格的学生的学号和成绩
select 学号,成绩 from 成绩
where 成绩>=60 and 课程号 in (1,3)
--(20)统计学生表中所有男女生人数
SELECT 性别, COUNT(性别)AS'人数' FROM 学生
group by 性别
对于今天的题除了自己不太熟悉课本知识和同学讨论出来的那些分析外,对于其他的题已经没有什么问题了,因为我把今天的题做完之后,把报告写完的同时,对于明天的题我也进行了一番思考,并且还帮助其他同学解决了一些不会的问题。
星期二 天气 冷 心情 good

3、复杂的结构化查询
--(1)检索至少选修刘志生老师所授课程中一门课程的女学生姓名。
select 学生.学号,姓名,性别,课程.课程号 from 学生,成绩,课程
where 性别='女' and 课程.课程号 in(select 课程号 from 课程 where 教师名='刘志生')and 学生.学号=成绩.学号
and 课程.课程号=成绩.课程号
对于今天的课程设计不是像昨天一样那么简单了,简直是提高了一个很大的层次,简直是一步三晃啊!不容易啊!就像本题一样,在查询的时候要用一个子查询和三个条件才能把它做出来!
--(2)检索吴计算同学不学的课程的课程号。
select 课程号 from 课程 where 课程号 not in(select 成绩.课程号 from 成绩,学生where 姓名='吴计算' and 成绩.学号=学生.学号)
在本题中,用的方法还真是一波三折啊!因为如果要查不学的课程,要先查出他学的课程,然后再排掉学过的!充分运用了not in这个语法
--(3)检索至少选修四门课程的学生学号。
select 学号, count(成绩.学号)as '门数' from 成绩,课程 where 成绩.课程号=课程.课程号
group by 成绩.学号
having count(成绩.学号)>=4
对于本题的用的是count做统计这个数据语句,外加可以用在group by 语句后的having条件语句。通过本题的联系,可以很好的运用count 和having语句
--(4)检索全部学生都选修的课程的课程号与课程名。
select 课程.课程名 ,课程.课程号 from 成绩,课程
where 成绩.课程号=课程.课程号
group by 课程.课程名,课程.课程号
having count(成绩.学号) in (select count(学生.学号)from 学生)
--(5)检索选修课程包含刘志生老师所授课的学生学号。
select 学号 from 成绩,课程
where 教师名='刘志生'and 成绩.课程号=课程.课程号
--(6)统计有学生选修的课程门数。
select 学号, count(成绩.学号)as '门数' from 成绩,课程 where 成绩.课程号=课程.课程号
group by 成绩.学号
--(7)求选修4号课程的学生的平均年龄。
select AVG(年龄)as'平均年龄',成绩.课程号 from 学生,成绩
where 课程号='4' and 学生.学号=成绩.学号
group by 成绩.课程号
--(8)求刘志生老师所授课程的每门课程的学生平均成绩。
select avg(成绩.成绩)as'平均成绩',课程.课程号 from 成绩,课程
where 教师名='刘志生' and 成绩.课程号=课程.课程号
group by 课程.课程号
--(9)统计每门课程的学生选修人数(超过6人的课程才统计)。要求输出课程号和选修人数,查询结果按人数降序排列,若人数相同,按课程号升序排列。
select 成绩.课程号, count(成绩.学号)as '人数' from 成绩,课程
where 成绩.课程号=课程.课程号
group by 成绩.课程号
having count(成绩.学号)>=6
order by count(成绩.学号) asc
--(10)检索学号比陆力利同学大,而年龄比他小的学生姓名。
select 学号,姓名 from 学生
where 学号>(select 学号 from 学生 where 姓名='陆力利') and 年龄<(select 年龄 from 学生 where 姓名='陆力利'
--(11)求年龄大于女同学平均年龄的男学生姓名和年龄。
select 姓名,年龄 from 学生
where 性别='男'and 年龄>(select avg(年龄)as'平均年龄'from 学生 where 性别='女')
--(12)统计学生人数超过 5人的班级名称和对应的人数
select 班级,count(学生.学号)as '人数'from 学生
group by 班级
having count(学生.学号)>=5
--(13)检索课程号和选修人数,查询结果按人数升序排列,若人数相同,按课程号降序排列。
select 成绩.课程号, count(成绩.学号)as '人数' from 成绩,课程
where 成绩.课程号=课程.课程号
group by 成绩.课程号
order by count(成绩.学号) asc,成绩.课程号 desc
这道题运用很多知识点,不但用了count 统计 还用了 group by 分组 外加排序
--(14)查询选修课程学生的学号、姓名、所选课程号、取得的成绩
select 学生.学号,学生.姓名,成绩.课程号,成绩.成绩 from 学生,成绩
where 学生.学号=成绩.学号
--(15)查询学生的学号、课程号和成绩等级
select 学号,课程号,成绩,(
CASE
WHEN 成绩>=90 and 成绩<=100 THEN 'A'
WHEN 成绩>=80 and 成绩<90 THEN 'B'
WHEN 成绩>=70 and 成绩<80 THEN 'C'
WHEN 成绩>=60 and 成绩<70 THEN 'D'
ELSE 'E'
END ) as 等级
from 成绩
本题运用了一个新的知识点,这个知识点是在老师的ppt课件上找到的,利用这个语句何以很好很方便的为管理系统中的成绩分等级,所以在本体中一定要记住本语句的语法如:case when……and then ……else end
今天小结,通过今天一天的课程设计,我觉得我收获了很多,因为它让我以前学的不太好的知识点全部都巩固了一遍,尤其是成绩、课程、学生这些表与表的链接,每次不是这里连不上就是那里连不上,但是现在不但可以连上了,还可以帮助其他同学检查出来错误,真是一笔不小的收获,虽然今天做的题比较难,但是每一次在自己的努力下做出来都会有不小的成就感……
3、复杂的结构化查询
星期三 天气 冷 心情 good
外面飘着雪花,美好的一天又已经开始了!实习已经到了一半,离回家的日子也近了很多,所以心情也是越实习越好了!今天的工作当然也完成的比较顺利!虽然有的还挺难的!但是相信自己一定就会成功!嘿嘿……看看自己的劳动成果就知道了!
3、复杂的结构化查询
--(16)查询选修了英语的学生的姓名和成绩;
select 学生.姓名,成绩.成绩 from 成绩,学生,课程
where 课程.课程名='英语'and 学生.学号=成绩.学号 and 课程.课程号=成绩.课程号
group by 学生.姓名,成绩.成绩
--(17)分别统计每个班级的男女人数(要求显示出班级、性别、对应的人数)
SELECT 班级, 性别, COUNT(性别)AS'人数' FROM 学生
group by 班级,性别
--(18)求年龄大于所有女同学年龄的男学生姓名和年龄。
select 姓名,年龄 from 学生
where 性别='男'and 年龄>(select max(年龄) from 学生 where 性别='女')
group by 姓名,年龄

--(19)计算选修了1号课程的学生的平均成绩(要求显示出课程号和对应的平均成绩)
select 课程号,avg(成绩)as'平均成绩'from 成绩
where 课程号='1'
group by 课程号

--(20)查询选修课程学生的学号、姓名、所选课程名、取得的成绩
select 学生.学号,姓名,课程.课程名,成绩.成绩 from 学生,成绩,课程
where 学生.学号=成绩.学号 and 课程.课程号=成绩.课程号
--(21)查询学生的学号、姓名、性别及所选修各门课程的成绩(要求每位学生用一个数据行显示这些信息)

SELECT 学生.学号, 学生.姓名,学生.性别,
(select 成绩 from 成绩 where 课程号='1' and 学生.学号=学号) as '数学',
(select 成绩 from 成绩 where 课程号='2' and 学生.学号=学号) as '英语',
(select 成绩 from 成绩 where 课程号='3' and 学生.学号=学号) as '计算机基础',
(select 成绩 from 成绩 where 课程号='4' and 学生.学号=学号) as '数据库',
(select 成绩 from 成绩 where 课程号='5' and 学生.学号=学号) as '政治',
(select 成绩 from 成绩 where 课程号='6' and 学生.学号=学号) as '体育'

FROM 学生 INNER JOIN 成绩 ON 学生.学号=成绩.学号
GROUP BY 学生.学号, 学生.姓名,学生.性别
--(22)查询李路路所学的课程名和对应的成绩,并按照成绩升序排列。
select 姓名,课程名,成绩 from 学生,课程,成绩
where 姓名='李路路'and 课程.课程号=成绩.课程号 and 学生.学号=成绩.学号
order by 成绩

--(23)查询平均成绩大于 75 分的课程,要求显示课程名和平均成绩。
select 课程名,avg(成绩)as'平均成绩' from 课程,成绩
where 课程.课程号=成绩.课程号
group by 课程名
having avg(成绩)>=75
--(24)查询所选课程平均成绩前三名的那些学生的姓名和平均成绩。
select top 3 学生.学号,姓名,avg(成绩.成绩)as'平均成绩'from 成绩,学生 where 学生.学号=成绩.学号 group by 学生.学号,姓名 order by avg(成绩.成绩) desc

--(25)查询和李工业在同一个班级的学号和姓名
select 学号,姓名 from 学生
where 班级 in (select 班级 from 学生 where 姓名='李工业')

--(26)查询JW0831班中入学成绩比李里高的学生的姓名
select 姓名 from 学生
where 班级='JW0831' and 入学成绩>(select 入学成绩 from 学生 where 姓名='李里')

--(27)在学生表中查询高于入学成绩平均分的学生学号、姓名、班级、入学成绩
select 学号,姓名,班级,入学成绩 from 学生
where 入学成绩>(select avg(入学成绩)as'平均成绩'from 学生)

--(28)查询没有选修课程的学生的学号和姓名
select 学生.学号,学生.姓名 from 学生
where 学号 not in(select 学号 from 成绩 group by 学号 )

--(29)查询选修了 5(含5) 门以上课程的学生的姓名。
select 姓名 from 学生,成绩,课程 where 成绩.课程号=课程.课程号 and 学生.学号=成绩.学号
group by 成绩.学号,姓名
having count(成绩.学号)>=5
--(30)查找同名同姓的学生信息。
select a1.* from 学生 a1,学生 a2
where a1.姓名=a2.姓名 and a1.学号<>a2.学号
星期四 天气 冷 心情 good
数据管理
--(1)利用学生表创建一个新表(不含数据):优秀(学号,姓名,性别),
--然后在学生表中检索每一门课程成绩都大于等于80分的学生学号、姓名和性别,
--并把检索到的值送往优秀表中。
select 学号,姓名,性别 into 优秀 from 学生
where 5>6
insert into 优秀 select 学号,姓名,性别 from 学生 where 学号 in (select 学号 from 成绩 group by 学号 having min(成绩)>=80 )

--(2)把李路路同学的选课和成绩全部删去。
delete from 成绩
where 成绩 in(select 成绩 from 学生,成绩 where 学生.学号=成绩.学号 and 姓名='李路路')
--(3)把低于总平均成绩的女同学成绩提高5%。
UPDATE 成绩 SET 成绩=成绩*(1+0.05) WHERE 成绩<(select avg(成绩.成绩)as'平均成绩'from 成绩) and 学号 in(select 学号 from 学生 where 性别='女')
--(4)把选修数学课不及格的成绩全改为空值。
UPDATE 成绩 SET 成绩=null WHERE 成绩<60 AND 课程号=(select 课程号 from 课程 where 课程名='数学')
--(5)在成绩表修改4号课程的成绩,若成绩小于等于75分时提高5%,若成绩大于75分时提高4%(用两个UPDATE语句实现)。
UPDATE 成绩 SET 成绩=成绩*0.5 WHERE 成绩<=75 and 课程号='4'
UPDATE 成绩 SET 成绩=成绩*0.4 WHERE 成绩>75 and 课程号='4'
--(6)将选修4号课程且成绩没有及格的学生的成绩调整为 60 分。
UPDATE 成绩 SET 成绩=60 WHERE 成绩<60 AND 课程号='4'
自定义函数的使用
编写一函数(hws),判断一个整数是否为回文数,若是函数值为逗是地,否则为逗否地,利用该函数判断回文数基本表中A1列的整数是否为回文数,若是,则A2列的值为逗是地,否则为逗否地。
create function hws(@A1 int)
returns char(2)
as
begin
declare @y int,@r int,@c char(2),@z int
select @y=0,@z=@A1
while @A1!=0
select @r=@A1%10,@y=@y*10+@r,@A1=@A1/10
if @y=@z
set @c='是'
else
set @c='否'
return @c
end
update 回文数 set A2=dbo.hws(A1)。
星期五 天气 冷 心情 good
游标的使用
利用游标可以访问单独数据行的特点,逐一对三角形基本表中的数据行(三条边)进行处理,求三角形的面积。
Declare yb cursor
For
Select*from 三角形
Declare @a float,@b float,@c float,@p float,@s float
Open yb
Fetch next from yb into @a,@b,@c,@s
While @@fetch_status=0
Begin
If @a+@b>@c and @a+@c>@b and @b+@c>@a
select @p=(@a+@b+@c)/2.0,@s=round(sqrt(@p*(@p-@a)*(@p-@b)*(@p-@c)),2)
else
set @s=null
update 三角形 set s=@s where current of yb
fetch next from yb into @a,@b,@c,@s
end
close yb
deallocate yb

心得体会
时光匆匆,一个星期的实习已经接近尾声了,对于本次的实习心情就是轻松加愉快,收获也是硕果累累,在老师的安排下,实习的过程是根据每天老师给的任务,按时完成作业然后再把报告写完根据规划每天都有条不絮的干着自己的事情,对于我是一个不会安排时间的人,生活中重来没有规划,所以事情每次干完不是紧一阵就是松一阵的,所以通过这次实习中在老师的安排下,自己也懂得了安排时间的重要性,也从中吸取到了一些经验。
在本次实习中我不仅把本学期学习的数据库基本知识进行了点到点的复习,也把它进行了巩固,在原来没有学好的地方通过本次的实习学的比以前学的更好,不仅如此,我们在做课程设计的时候还学会了独自的思考和协作,有些知识点我们运用的不是很好,但是后面再老实的帮助和在同学的探讨下,最后都把它解决了出来。除此之外,我也感觉到实习并不是因为完成任务而实习,它是为了让我们更好的掌握知识,并把知识运用到生活中去的,就像艺术一样,源于生活,而应用于生活一样。数据库的学习,也是为了以后生活中方便自己方便他人而学习的。
由于每天紧张的课程,一路都是匆匆来匆匆去,所以一个班同学的交流也是很少的,通过实习所以同学之间交流的机会也就比较多了一点,比才的感觉也因此增进了不少,以上就是本次在实习中所得到的心得,至于没有感受到的,将在以后的生活中再次的吸取生活中的经验。来进行学习中的总结。

4. 创建数据库的五个属性

创建数据库的五个属性:比如学生表存学号,姓名、年龄、性别、班级等。

选择开始菜单中→程序→【Management SQL Server 2008】→【SQL Server Management Studio】命令,打开【SQL Server Management Studio】窗口,并使用Windows或 SQL Server身份验证建立连接。

在【对象资源管理器】窗口中展开服务器,然后选择【数据库】节点,右键单击【数据库】节点,从弹出来的快捷菜单中选择【新建数据库】命令。

非关系型数据库:

随着近些年技术方向的不断拓展,大量的NoSql数据库如MongoDB、Redis、Memcache出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。

指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。NoSQL数据库技术与CAP理论、一致性哈希算法有密切关系。所谓CAP理论,简单来说就是一个分布式系统不可能满足可用性、一致性与分区容错性这三个要求。

以上内容参考:网络-数据库

5. 数据库是什么

数据库,可视为电子化的文件柜,即存储电子文件的处所。

所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。在数据库中,用户可以对文件中的数据进行新增、查询、更新、删除等操作。

因为使用io流文件存储数据有很多弊端如文件存储数据存储效率低、不管存还取操作都较麻烦、一般只能保存小量字符串数据等。为了解决这些弊端,才有数据库的出现,使用数据库存储数据就可以很好的解决这些弊端。

(5)五班数据库扩展阅读:

数据库的结构:

一个数据库由一个或一组数据表组成。每个数据库都以文件的形式存放在磁盘上,即对应于一个物理文件。不同的数据库,与物理文件对应的方式也不一样。

对于dBASE,FoxPro和Paradox格式的数据库来说,一个数据表就是一个单独的数据库文件,而对于Microsoft Access、Btrieve格式的数据库来说,一个数据库文件可以含有多个数据表。

数据库中的数据是以表为单位进行组织的。一个表是一组相关的按行排列的数据;每个表中都含有相同类型的信息。表实际上是一个二维表格,例如,一个班所有学生的考试成绩,可以存放在一个表中,表中的每一行对应一个学生,这一行包括学生的学号,姓名及各门课程成绩。

参考资料来源:网络-数据库

热点内容
电信光纤上传限制 发布:2024-05-18 16:08:05 浏览:910
sql中的limit 发布:2024-05-18 16:05:57 浏览:895
启动ug时服务器无响应是怎么回事 发布:2024-05-18 15:48:24 浏览:372
小数除法的计算法则 发布:2024-05-18 15:36:52 浏览:530
安卓网卡免驱动如何实现 发布:2024-05-18 15:25:15 浏览:860
8加6算法 发布:2024-05-18 15:04:25 浏览:738
名图16款尊享什么配置 发布:2024-05-18 14:55:37 浏览:585
我的世界怎样刷出32k服务器 发布:2024-05-18 14:32:32 浏览:565
c语言程序设计江宝钏 发布:2024-05-18 14:32:22 浏览:780
右击文件夹总是转圈圈 发布:2024-05-18 14:31:10 浏览:697