从校园中走出来已经两年多了,从最初的企业建站到现在的BPM流程开发,深深的感觉到自己底子很差,因此在园子里记录一下学过的知识,以此自勉。

废话到此结束,今天就先来看一下CREATE CHEMA 语句。

尽管大多数数据库操作是基于表结构进行的,但是数据库并不仅仅是数据表的集合。一个完整的数据库除了包含表以外,还要包括存储过程、自定义函数以及游标,这些都是用户创建的,此外还有索引和其他的一些方法,而这些方法是用户不能直接使用的。

SQL标准将数据库用户划分为普通用户(USER)和管理员用户(ADMIN),模式对象的创建、修改、删除操作需要管理员权限,而普通用户则能够调用及查看模式对象。(权限)。

概括起来讲,表、视图以及与其相关联的权限便是模式。

--模式

通过create chema语句可以一次性的创建一个完整的数据库模式,数据库模式必须包含名称和默认的字符集。

(在当前数据库中创建架构。CREATE SCHEMA 事务还可以在新架构内创建表和视图,并可对这些对象设置 GRANT、DENY 或 REVOKE 权限。)(MSDN)

例子:(SQLSERVER中)

USE xtt_cms --在xtt_cms中创建
GO
CREATE SCHEMA PRACTICE --创建了PRACTICE架构
CREATE TABLE USERS(USERID INT PRIMARY KEY,USERNAME VARCHAR(50))--包含表USERS
CREATE TABLE NEWS(NEWSID INT PRIMARY KEY,NEWTITLE VARCHAR(200))--包含表USERS
GRANT SELECT TO admin--为admin授予Select权限
DENY SELECT TO xuett;--拒绝授予xuett Select权限
Go

——创建包含两个表结构的数据库模式(PRACTICE)

注意:允许包含 CREATE SCHEMA AUTHORIZATION 但不指定名称的语句存在,目的只是为了向后兼容。

CREATE SCHEMA 事务是原子级的。如果 CREATE SCHEMA 语句执行期间出现任何错误,则不会创建任何指定的安全对象,也不会授予任何权限。

由 CREATE SCHEMA 创建的安全对象可以任何顺序列出,但引用其他视图的视图除外。在这种情况下,被引用的视图必须在引用它的视图之前创建。

因此,GRANT 语句可以在创建某个对象之前对该对象授予权限,CREATE VIEW 语句也可以出现在创建该视图所引用表的 CREATE TABLE 语句之前。同样,CREATE TABLE 语句可以在 CREATE SCHEMA 语句定义表之前声明表的外键。

SQL学习中(序)的更多相关文章

  1. SQL学习中(一)序列

    序列可以理解数值序列生成器,通俗的说是按照已经设定的规则自动产生数据的方案对象.--SQL SERVER不支持 个人认为序列类似于SQLSERVER中的identity(1,1),可以用于在表中添加数 ...

  2. SQL 学习——简序以及学习路线

    1.最近发现自己除去简单的SQL语句好像其他的并不怎么懂哎,虽然暂时是android用不到太复杂点的语句,想来总不能一直这样把, 顺带还是看看Sql. 2.画个图规划下自己的学习路线

  3. [SQL]学习中遇到的错误

    1.中英文模式切换 查找语句中不能出现中文字符!!!

  4. SQL Server中的锁的简单学习

    简介 在SQL Server中,每一个查询都会找到最短路径实现自己的目标.如果数据库只接受一个连接一次只执行一个查询.那么查询当然是要多快好省的完成工作.但对于大多数数据库来说是需要同时处理多个查询的 ...

  5. Android学习笔记——保存数据到SQL数据库中(Saving Data in SQL Databases)

    知识点: 1.使用SQL Helper创建数据库 2.数据的增删查改(PRDU:Put.Read.Delete.Update) 背景知识: 上篇文章学习了保存文件,今天学习的是保存数据到SQL数据库中 ...

  6. SQL学习笔记之项目中常用的19条MySQL优化

    在写文章之前,首先感谢 飞友科技 陆老师提供的文档.. 声明一下:下面的优化方案都是基于 “ Mysql-索引-BTree类型 ” 的 0x00 EXPLAIN 做MySQL优化,我们要善用 EXPL ...

  7. Web安全学习笔记 SQL注入中

    Web安全学习笔记 SQL注入中 繁枝插云欣 --ICML8 权限提升 数据库检测 绕过技巧 一.权限提升 1. UDF提权 UDF User Defined Function,用户自定义函数 是My ...

  8. pl/sql学习(6): 引号/程序调试/列中的字符串合并/正则表达式

    有关自治事务的问题: https://www.cnblogs.com/princessd8251/p/4132649.html 我在plsql development学习中遇到的常见问题: (一) 引 ...

  9. MVC3学习:Sql Server2005中时间类型DateTime的显示

    在Sql Server2005中,如果将某字段定义成日期时间类型DateTime,那么在视图中会默认显示成年月日时分秒的方式(如 2013/8/6 13:37:33) 如果只想显示成年月日形式,不要时 ...

随机推荐

  1. mysql:学习学习~

    1.约束:分为表级约束和列级约束 包括:NOT NULL (非空约束) PRIMARY KEY(主键约束) UNIQUE KEY(唯一约束) DEFAULT(默认约束) FOREIGN KEY(外键约 ...

  2. Objective-C ,ios,iphone开发基础:picker控件详解与使用,(实现省市的二级联动)

    第一步:新建一个单视图(single view)的工程, 命名为pickerTest,不要勾选下面两个选项,第一个是新版本里面的,第二个是单元测试,现在用不着. 点击next  ->creat之 ...

  3. Git工作流

    关于git工作原理请参见:http://blog.csdn.net/zdy0_2004/article/details/46552227

  4. PhotoShop—剪贴蒙版

    工作中发现剪贴蒙版方便好用,所以简单分享下~ 一.剪贴蒙版有什么作用 1.文字上色 2.裁剪图片 3.添加背景 等 二.剪贴蒙版怎么使用 1.新建层,打上字如图 2.文字上面再建层加上效果如渐变 3. ...

  5. Jersey(1.19.1) - Client API, Using filters

    Filtering requests and responses can provide useful functionality that is hidden from the applicatio ...

  6. mvc中的webapi

    MVC中 webapi的使用 和 在其他网站中如何来调用(MVC) 1.webapi的路由规则注册在App_Start\WebApiConfig.cs文件中 2.webapi控制器继承父类 apiCo ...

  7. DOS批处理命令-几个固定名称的变量

    批处理中有一些变量的变量名称是固定的,具有特定的意义,接下来,我们来看看这些有特定意义的变量到底有什么意义. 1.%CD%   当前路径的路径名[盘符 + 路径]    - 現在のディレクトリ文字列に ...

  8. linux/centos下安装nginx(rpm安装和源码安装)详细步骤

    Centos下安装nginx rpm包                                                                                 ...

  9. UIProgressView[进度条][一般型];UIStepper步数器][事件驱动型]

    ////  ViewController.m//  ProgressAndSteper////  Created by hehe on 15/9/21.//  Copyright (c) 2015年 ...

  10. 如何把网站及数据库部署到Windows Azure

    http://edi.wang/Post/2014/1/1/deploying-website-with-db-to-azure-custom-domain