① sql 定义模式 应该怎么样理解
CREATE SCHEMA
创建一个架构,并且可以在概念上将其看作是包含表、视图和权限定义的对象。
语法
CREATE SCHEMA AUTHORIZATION owner
[ < schema_element > [ ...n ] ]
< schema_element > ::=
{ table_definition | view_definition | grant_statement }
参数
AUTHORIZATION owner
指定架构对象所有者的 ID。此标识符必须是数据库中有效的安全帐户。
table_definition
指定在架构内创建表的 CREATE TABLE 语句。
view_definition
指定在架构内创建视图的 CREATE VIEW 语句。
grant_statement
指定授予用户或用户组权限的 GRANT 语句。
② sql中定义模式有什么作用
个人觉得 上面回答的都没有点到模式的真正的作用是?sql 中定义模式的作用可以和C#的类设计进行一个简单的对比就很明白了。
sql中定义模式,实际上就是定义个命名空间nameSpace。在这个命名空间中,你可以创建基表,视图,和有关的授权等等。正如在C#中, 你可以在你的命名空间中,定义你自己的类和结构体,以及其他的信息。
举例说明:
/*定义模式(命名空间),同时授权给WANG*/
CREATE SCHEMA “S_T” AUTHORIZATON WANG ;
/*do other thing*/
/*创建一张表TABLE1*/
CREATE TABLE TABLE1 (
COL1 SMALLINT ,
COL2 CHAR(20) ,
COL3 INT ,
COL4 NUMERIC(10,3) ,
COL5 DECIMAL(5,2) )
希望有帮助。
ps:《数据库系统概论》第四版 可以看看,有很大的帮助
③ sql 语言中,模式是什么意思
模式(schema) 是 数据库体系结构中的一个节点
对于 SQL Server 数据库来说。
访问具体的一个表,可以由 4个部分组成
分别为 服务器名, 数据库名,模式名,表名。
对于访问本地的数据库
因为 服务器已经连接上了,因此不用指定
数据库名,通过 use 数据库名 指定了
模式名,如果不指定的话, 数据库 默认使用 dbo 模式。
对于访问链接服务器。
链接服务器名.数据库名.模式名.表名
模式(schema) 是用于 在一个 大项目中的 各个 小项目
每个 小项目的表, 放在 各自的 模式(schema) 下面.
这样, 遇到 小项目里面. 有 相同名字的 表的话, 不会发生冲突.
例如一个 公司的 系统.
里面分2个 子系统, 分别为 财务系统 和 人力资源系统.
这2个 子系统, 共用一个数据库
.
那么 财务系统的表, 可以放在 财务的 模式(schema).
人力资源系统的表,放在 人力资源系统的模式里面。
这2个 子系统, 能够 互相访问 对方的表
但是又不因为 表重名 的问题,影响对方。
④ 什么是SQL
SQL是Structured Quevy Language(结构化查询语言)的缩写。SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出“做什么”的命令,“怎么做”是不用使用者考虑的。SQL功能强大、简单易学、使用方便,已经成为了数据库操作的基础,并且现在几乎所有的数据库均支持SQL。 <br>
##1 二、SQL数据库数据体系结构 <br>
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row);属性称为“列”(column)。名称对称如^00100009a^: <br>
##1 三、SQL语言的组成 <br>
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的组成: <br>
1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。 <br>
2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。 <br>
3.一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图是由若干基本表或其他视图构成的表的定义。 <br>
4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。每个存储文件与外部存储上一个物理文件对应。 <br>
5.用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本表是一样的,没有区别,都是关系(表格)。 <br>
6.SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独立的用户接口,供交互环境下的终端用户使用。 <br>
##1 四、对数据库进行操作 <br>
SQL包括了所有对数据库的操作,主要是由4个部分组成: <br>
1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据库、基本表、视图和索引4部分。 <br>
2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操作,其中数据更新又包括插入、删除和更新三种操作。 <br>
3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务控制语句等。 <br>
4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则。 <br>
下面我们将分别介绍: <br>
##2 (一)数据定义 <br>
SQL数据定义功能包括定义数据库、基本表、索引和视图。 <br>
首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^) <br>
1.数据库的建立与删除 <br>
(1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为: <br>
CREATE DATABASE <数据库名> 〔其它参数〕 <br>
其中,<数据库名>在系统中必须是唯一的,不能重复,不然将导致数据存取失误。〔其它参数〕因具体数据库实现系统不同而异。 <br>
例:要建立项目管理数据库(xmmanage),其语句应为: <br>
CREATE DATABASE xmmanage <br>
(2) 数据库的删除:将数据库及其全部内容从系统中删除。 <br>
其语句格式为:DROP DATABASE <数据库名> <br>
例:删除项目管理数据库(xmmanage),其语句应为: <br>
DROP DATABASE xmmanage <br>
2.基本表的定义及变更 <br>
本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改。 <br>
……<br>
⑤ SQL的定义功能是什么
SQL全称是“结构化查询语言(Structured
Query
Language)”,最早的是IBM的圣约瑟研究实验室为其关系数据库管理系统SYSTEM
R开发的一种查询语言,它的前身是SQUARE语言。SQL语言结构简洁,功能强大,简单易学,所以自从IBM公司1981年推出以来,SQL语言,得到了广泛的应用。如今无论是像Oracle
,Sybase,Informix,SQL
server这些大型的数据库管理系统,还是像Visual
Foxporo,PowerBuilder这些微机上常用的数据库开发系统,都支持SQL语言作为查询语言。
⑥ SQL中模式的定义:
您的语法好像有点问题: 语句之间加入go
create schema AUTHORIZATION ZHANG
go
create table student(name varchar(20) not null,
course varchar(20) not null,
grade int)
go
drop schema ZHANG cascade
您删除的是构架,但是表对象还是被sysobjects 来控制的;用Drop table student来删除吧
权限问题的话,请查看最后
CREATE SCHEMA
创建一个架构,并且可以在概念上将其看作是包含表、视图和权限定义的对象。
语法
CREATE SCHEMA AUTHORIZATION owner
[ < schema_element > [ ...n ] ]
< schema_element > ::=
{ table_definition | view_definition | grant_statement }
参数
AUTHORIZATION owner
指定架构对象所有者的 ID。此标识符必须是数据库中有效的安全帐户。
table_definition
指定在架构内创建表的 CREATE TABLE 语句。
view_definition
指定在架构内创建视图的 CREATE VIEW 语句。
grant_statement
指定授予用户或用户组权限的 GRANT 语句。
注释
CREATE SCHEMA 提供了在单个语句中创建表、视图以及授予对象权限的方法。如果在创建任何对象或授予任何权限(这些是在 CREATE SCHEMA 语句中指定的)时发生错误,则不会创建任何对象。
创建的对象不必按逻辑顺序出现,但引用其它视图的视图除外。例如,GRANT 语句可以在创建某个对象之前授予该对象的权限,CREATE VIEW 语句也可以出现在创建该视图所引用表的 CREATE TABLE 语句之前。同样,CREATE TABLE 语句中声明的外键可以指向后面指定的表。例外情况是,如果一个视图的选择语句引用另一个视图,则必须在指定引用视图之前指定被引用的视图。
权限
CREATE SCHEMA 权限默认授予所有用户,但是他们必须有权创建加入到架构中的对象。
示例
A. 在创建对象之前授权访问对象
下例显示在创建对象之前授予权限。
CREATE SCHEMA AUTHORIZATION ross
GRANT SELECT on v1 TO public
CREATE VIEW v1(c1) AS SELECT c1 from t1
CREATE TABLE t1(c1 int)
B. 创建相互依赖的 FOREIGN KEY 约束
下例创建相互依赖的 FOREIGN KEY 约束。用其它方法完成由此 CREATE SCHEMA 示例实现的任务时,需要执行多个步骤。
CREATE SCHEMA AUTHORIZATION ross
CREATE TABLE t1 (c1 INT PRIMARY KEY, c2 INT REFERENCES t2(c1))
CREATE TABLE t2 (c1 INT PRIMARY KEY, c2 INT REFERENCES t1(c1))
⑦ SQL中的模式到底是个什么概念
外模式、概念模式和内模式。
外模式处于用户级,也称为用户视图(VIEW),它最接近用户,是单个用户看到并获准使用的那部分数据的逻辑结构;概念模式是对数据库所有用户的数据的整体逻辑描述,包括逻辑记录类型和记录之间的关系;内模式处于物理级,又称为存储模式。