SQL的元素

1. 模式对象

模式为数据逻辑结构或模式对象(schema object)的集合,它为一个数据库用户所占有,模式名与该用户名同名。模式对象是由SQL建立和操纵的,它包含下列类型。对这些元素一理解对有效地使用SQL语言很重要。

▲表(table):表为数据库中数据存储的基本单位,其数据按行、列存储。每个表具有一表名和列的集合。每一列有一个列名、数据类型、宽度或精度、比例。一行是对应单个记录的列信息的集合。

▲视图(view):一个视图是由一个或多个表(或其它视图)中的数据的一种定制的表示,是用一个查询定义,所以可认为是一个存储的查询或是一个虚表。在许多使用表的地方也同时使用视图,但视图与表不同,一个视图不分配任何空间,也就是说,视图并不真正地包含数据。

▲聚集(cluster):聚集是存储表数据的可选择的方法。一个聚集是一组表,它将具有同一公共列值的行存储在一起,并且它们经常一起使用。

▲数据库链(database link):数据库链是一个命名的对象,说明从一个数据库到另一个数据库的一条路径。在分布式数据库中,对全局对象名引用时,数据库链被隐式地使用。本文来自编程入门网

▲索引(index):索引是与表和聚集相关的一种选择结构。索引是为提高数据检索的性能而建立的,利用它可快速地确定指定的信息。

▲序列生成器(sequence generator):序列生成器产生序列号。在多用户环境下该序列生成器特别有用,可生成和返回序列号而不需要磁盘I/O或事务封锁。

▲同义词(synonym):一个同义词为任何表、视图、序列、过程等的别名,其定义存储在数据字典中。

▲数据库触发器(database trigger):数据库触发器类似于存储的过程,它包含SQL语言和其它的存储过程。

2.非模式对象

在数据库中,还有一些其它类型的对象,可用SQL建立和操纵,但是它们并不包含在模式中。这些对象是:

▲用户环境文件(profile);
  ▲角色(role):角色为相关特权的命名组,可授权给用户和角色。所谓特权是一种特殊类型的SQL语句或存取另一用户的对象的权力。
  ▲回滚段(rollback segment):回滚段是数据使用的一种对象,用于存储要撤消的事务所作的修改所需的数据。在一个表空间中可以有多个回滚段,一般多个回滚段可改进性能。

▲表空间(tablespace):一个数据库划分为一个或多个逻辑单位,该逻辑单位称为表空间。

参考资料:sql语言教程 Sql语言基础

返回“数据库基础知识ABC”目录

时间: 2024-12-22 09:41:31

SQL的元素的相关文章

SQL语言概述

SQL语言是一种用于和关系数据库进行交互通信的计算机语言.当用户想检索数据库中的数据时,就可以用SQL语言发出此请求,DBMS对SQL请求进行处理,检索到所要求的数据,并将其返回给用户.这个向数据库请求并得到数据的过程称为数据库查询,这就是SQL语言(Structure Query Language)这一名称的由来.如今,SQL语言已不仅仅是一个查询工具,它已成为可以对关系数据库中的数据进行组织.管理和检索的主要工具. 现在,SQL用于控制DBMS提供给用户的所有功能,SQL语言已成为用户与基于

实现Castor数据绑定,第4部分:把Java对象绑定到SQL数据

本文配套源码 对于多数开发人员 - 尤其是各种Java版本的用户 - 数据绑定已经和闭包.单例(singletons).Ajax一样变为常用词汇表中的一部分了.而且和其他术语一样,数据绑定也常常被错误的定义. 特别是大部分程序员在听到数据绑定 的时候,实际上想的是XML数据绑定.加上这个小小的单词XML,造成大多数程序员忽略了相当多的功能和灵活性,尤其是如果使用 Castor API的话.这是因为对于Castor而言,XML数据绑定仅仅是其中的一部分.除了绑定到XML文档之外,Castor还提供

简单十步让你全面理解SQL

很多程序员认为SQL是一头难以驯服的野兽.它是为数不多的声明性语言之一,也因为这样,其展示了完全不同于其他的表现形式.命令式语言. 面向对象语言甚至函数式编程语言(虽然有些人觉得SQL 还是有些类似功能). 我每天都写SQL,我的开源软件JOOQ中也包含SQL.因此我觉得有必要为还在为此苦苦挣扎的你呈现SQL的优美!下面的教程面向于: 已经使用过但没有完全理解SQL的读者 已经差不多了解SQL但从未真正考虑过它的语法的读者 想要指导他人学习SQL的读者 本教程将重点介绍SELECT 语句.其他

MyBatis 入门到精通(二) SQL语句映射XML文件

欢迎加入QQ群交流:1群已满,请加2群466355109,技术不全没关系,只要有交流的心就尽管来吧!!! MyBatis 真正强大之处就在这些映射语句,也就是它的魔力所在.对于它的强大功能,SQL 映射文件的配置却非常简单. 如果您比较SQL 映射文件配置与JDBC 代码,您很快可以发现,使用SQL 映射文件配置可以节省95%的代码量.MyBatis 被创建来专注于SQL,但又给您自己的实现极大的空间. 需要配置的基本元素 1. cache – 配置给定模式的缓存 2. cache-ref –

[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!)

原文:[强烈推荐]ORACLE PL/SQL编程详解之七:程序包的创建与应用(聪明在于学习,天才在于积累!) [强烈推荐]ORACLE PL/SQL编程详解之七:   程序包的创建与应用(聪明在于学习,天才在于积累!) --通过知识共享树立个人品牌.     继上七篇:            [推荐]ORACLE PL/SQL编程详解之一:PL/SQL 程序设计简介(千里之行,始于足下)            [顶]ORACLE PL/SQL编程详解之二:PL/SQL块结构和组成元素(为山九仞,

详解MyBatis的getMapper()接口、resultMap标签、Alias别名、 尽量提取sql列、动态操作_java

一.getMapper()接口 解析:getMapper()接口 IDept.class定义一个接口, 挂载一个没有实现的方法,特殊之处,借楼任何方法,必须和小配置中id属性是一致的 通过代理:生成接口的实现类名称,在MyBatis底层维护名称$$Dept_abc,selectDeptByNo() 相当于是一个强类型 Eg 第一步:在cn.happy.dao中定义一个接口 package cn.happy.dao; import java.util.List; import cn.happy.e

Oracle数据库之开发PL/SQL子程序和包

PL/SQL块分为匿名块与命名块,命名块又包含子程序.包和触发器. 过程和函数统称为PL/SQL子程序,我们可以将商业逻辑.企业规则写成过程或函数保存到数据库中,以便共享. 过程和函数均存储在数据库中,并通过参数与其调用者交换信息.过程和函数的唯一区别是函数总向调用者返回数据,而过程不返回数据. 1. 存储过程概念 存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL语句集,存储在数据库中.经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名

mybatis的动态sql详解(精)

MyBatis 的一个强大的特性之一通常是它的动态 SQL 能力.如果你有使用 JDBC 或其他 相似框架的经验,你就明白条件地串联 SQL 字符串在一起是多么的痛苦,确保不能忘了空 格或在列表的最后省略逗号.动态 SQL 可以彻底处理这种痛苦. 通常使用动态SQL不可能是独立的一部分,MyBatis当然使用一种强大的动态SQL语言来改进这种情形,这种语言可以被用在任意映射的SQL语句中. 动态SQL元素和使用 JSTL或其他相似的基于XML的文本处理器相似.在MyBatis之前的版本中,有很多

使用 XML 模板 (MSSQL手册)

sql|xml|模板 下面是模板的一般形式,显示了指定 SQL 查询和 XPath 查询的方式:  <ROOT xmlns:sql="urn:schemas-microsoft-com:xml-sql"        sql:xsl='XSL FileName' >   <sql:header>     <sql:param>..</sql:param>     <sql:param>..</sql:param>.