綱要 (資料庫)

架构(英語:Schema,又称模式),台湾翻译为纲要,在数据库系统中是形式语言描述的一种结构,是对象的集合,[1]可包含各种对象如:字段关系模型视图索引存储过程子程序队列触发器数据类型序列物化视图英语materialized view同义词(synonym)、database link、directoryXML schema等。[2][3]

模式的益处:

  • 允许多个用户使用一个数据库而不会干扰其它用户。
  • 把数据库对象组织成逻辑组,让它们更便于管理。
  • 第三方的应用可以放在不同的模式中,不会和其它对象的名字冲突。

Oracle数据库实现

Oracle数据库中,schema object是一类逻辑数据库存储结构英语Database storage structures[4]

Oracle的數據庫會為每個在數據庫的用戶關聯一個獨立的schema。[5]

schema包括有一堆schema objects的集合。schema objects的例子包括有:

與此同時,非schema objects可能包括[6]

  • users
  • roles
  • contexts
  • directory objects

Schema objects跟磁碟上用來儲存資料的物理檔案並沒有一對一的關連。不過,Oracle数据库會將schema objects以虛擬的邏輯形式儲存在數據庫的表空间裡。每一件schema object的數據在物理上如同其他表空間的內容一樣,儲存在表空間所屬的其中一個datafile英语datafile裡。部分objects(例如:表、索引、叢集等)所佔的空間,数据库管理员可控制Oracle的RDBMS可如何在表空間的datafile內如何分配與schema object。

schemas與表空間之間沒有必然的關係:表空間可以包含來自不同schema的objects,並且單個schema的object可以位於不同的表空間中。

SQL Server数据库实现

SQL Server数据库把schema译作“架构”。架构是数据库中对象的容器。架构是形成单个命名空间的数据库实体的集合。命名空间是一个集合,其中每个元素的名称都是唯一的。默认架构DBO。访问默认架构中的对象时,不需要指定架构的名称。微软建议使用两段式对象名称:

 架構名.對象名

创建架构的语句举例:

 CREATE SCHEMA mySchema AUTHORIZATION user1
      CREATE TABLE myTable1(source int, cost int, partnumber int)
      GRANT SELECT TO user2
      Deny SELECT TO AnotherUser3;

上述语句创建一个架构mySchema,所有者为user1,包含表myTable1,授予user2以SELECT权限,拒绝给AnotherUser3以SELECT权限。

授予/撤销用户对架构的所有权:

GRANT INSERT ON SCHEMA ::mySchema1 To myUser2;
REVOKE INSERT ON SCHEMA ::mySchema1 To myUser2;

把对象从一个架构移动到另一个架构(必须同个数据库):

ALTER SCHEMA mySchema2 TRANSFER mySchema1.myTable1;

删除一个架构,该架构不能包含对象:

DROP SCHEMA mySchema3;

历史

SQL Server 2000 中,数据库用户和架构是隐式同一。每个数据库用户都是与该用户同名的架构的所有者。对象的所有者在功能上与包含它的架构所有者相同。因而,SQL Server 2000 中的完全限定名称的“架构”也是数据库中的用户。

SQL Server 2005 中,架构独立于创建它们的数据库用户而存在。多个用户可以共享一个默认架构进行统一的名称解析。 删除数据库用户不需要重命名该用户架构所包含的对象。完全限定的对象名称现在包含四部分:server.database.schema.object。如果未定义DEFAULT_SCHEMA 选项设置和更改默认架构,则数据库用户将把 dbo 作为其默认架构。

MySQL数据库实现

MySQL 中 Schema 等价于 数据库。[7]

CREATE SCHEMA是CREATE DATABASE的同义词。

PostgreSQL数据库实现

PostgreSQL数据库集群可以有一个或多个命名的数据库。用户和用户组在整个集群的范围内是共享的,即不能有同名用户。任何给定的客户连接(connection)都只能访问一个数据库。

一个数据库包含一个或多个命名的模式, 模式包含其它命名的对象,如表、数据类型、函数、操作符等。在不同的模式里使用同名的对象不会导致冲突。例如,schema1 和 schemaA 都可以包含叫做 mytable 的表。一个用户可以访问所连接的数据库中的任意模式中的对象,只要有这个权限。

Apache Derby数据库实现

Apache Derby数据库(即Java DB)的任何connection的当前schema,默认是对应于该用户名的一个schema。如果无用户名被提供,那么当前用户名与当前schema缺省是APP。

但即使当前schema被设置为用户名,这个schema仍然可能不存在。一个schema只能被创建:通过CREATE SCHEMA语句显式创建或者创建一个对象(例如表等)来隐式创建。

APP schema总是存在,不需要创建。

如果你的程序试图访问当前schema但该schema下没有创建任何对象,就会遇到“schema not exists”错误。[8]

SQL实现

ISO/IEC 9075-1 SQL标准中将schema定义为描述符的持久命名集合(a persistent, named collection of descriptors)。

创建一个schema:

create schema demo_schema;

在指定模式里创建表:

CREATE TABLE myschema.mytable (
   ...
);

删除一个空的schema:

drop schema myschema;

删除一个模式以及模式里面所有的对象:

drop schema MySchema CASCADE;

默认的pulic schema:创建表时,如果没有指定schema,则会自动被归属到数据库的“public”的模式中。下面两种创建表的方式是等效的:

CREATE TABLE tableName(...);
CREATE TABLE public.tableName(...);

模式的权限

用户默认是看不到模式中不属于他们所有的对象。

模式权限:

  • USAGE 权限
  • CREATE 权限:在别人的模式里创建对象。缺省时,每个用户在 public 模式上有 CREATE 权限。撤销这个权限:REVOKE CREATE ON public FROM PUBLIC; (第一个 "public" 是模式,第二个 "public" 意思是"所有用户"。 第一句里它是个标识符,而第二句里是个关键字,所以有不同的大小写)

模式搜索路径

系统使用一个模式的列表作为搜索路径来解析一个表属于哪个模式。搜索路径中的第一个模式是当前模式;CREATE TABLE 没有声明模式名的时候,新建的表属于当前模式。

查看搜索路径:

SHOW search_path; 'PostgreSQL数据库

设置搜索路径

SET search_path TO myschema,public; 'PostgreSQL数据库

参考文献

  1. ^ Pottinger, P.; Berstein, P. Schema merging and mapping creation for relational sources. New York, NY: ACM. 2008: 73–84. CiteSeerX 10.1.1.405.2990可免费查阅. ISBN 9781595939265. doi:10.1145/1353343.1353357.  |journal=被忽略 (帮助)
  2. ^ Rybinski, H. On First-Order-Logic Databases. ACM Transactions on Database Systems. 1987, 12 (3): 325–349. doi:10.1145/27629.27630. 
  3. ^ Imielinski, T.; Lipski, W. A systematic approach to relational database theory. New York, NY: ACM. 1982: 8–14. ISBN 978-0897910736. doi:10.1145/582353.582356.  |journal=被忽略 (帮助)
  4. ^ Ashdown, Lance; Kyte, Tom. Oracle Database Concepts 11g Release 2 (11.2). et al. Oracle Corporation. 2010-02 [2010-04-14]. (原始内容存档于2010-01-29). A database schema is a logical container for data structures, called schema objects. Examples of schema objects are tables and indexes. 
  5. ^ Oracle Database Concepts 10g Release 2 (10.2)Part Number B14220-02. [2012-11-26]. (原始内容存档于2019-05-07). A schema is a collection of logical structures of data, or schema objects. A schema is owned by a database user and has the same name as that user. Each user owns a single schema. Schema objects can be created and manipulated with SQL.(schema是数据或模式对象的逻辑结构的集合,由数据库用户拥有,并且与该用户具有相同的名称,也就是说每个用户拥有一个独立的schema。) 
  6. ^ Ashdown, Lance; Kyte, Tom. Oracle Database Concepts 11g Release 2 (11.2). et al. Oracle Corporation. February 2010 [2010-04-14]. (原始内容存档于2010-01-29). Other types of objects are also stored in the database and can be created and manipulated with SQL statements but are not contained in a schema. These objects include database users, roles, contexts, and directory objects. 
  7. ^ 《MySQL 5.7 Reference Manual》,“MySQL Glossary”: In MySQL, physically, aschema is synonymous with adatabase. You can substitute the keywordSCHEMA instead ofDATABASE in MySQL SQL syntax, for example using CREATE SCHEMA instead of CREATE DATABASE.. [2018-08-03]. (原始内容存档于2021-04-13). 
  8. ^ [[Apache Derby]]数据库(即[[Java DB]]) Frequently Asked Questions 5.3. Why do I get the error 'schema does not exist'?. [2018-08-03]. (原始内容存档于2020-08-25). 

參看

外部链接

Read other articles:

This article is about the mall in Mississauga, Ontario. For the mall in Saugus, Massachusetts, see Square One Mall. Shopping mall in Mississauga, Ontario 43°35′35″N 79°38′34″W / 43.59306°N 79.64278°W / 43.59306; -79.64278 Square One Shopping CentreAerial view of Square One Shopping CentreLocationMississauga, Ontario, CanadaOpening dateOctober 3, 1973; 50 years ago (October 3, 1973)[1]OwnerAIMCo and OMERSNo. of stores and services360+No....

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Oktober 2022. Daftar film Korea dapat merujuk pada: Daftar film Korea (Pra 1948), kronologi film-film Korea Bersatu sebelum pembagian negara Daftar film Korea Selatan, kronologi film yang diproduksi di Korea Selatan (pasca September 1948) Daftar film Korea Utara, kr...

 

Berikut adalah daftar munisipalitas di provinsi, di komunitas otonom Cantabria, Spanyol. Peta munisipalitas Cantabria Nama Populasi (2002) Alfoz de Lloredo 2.593 Ampuero 3.602 Anievas 378 Arenas de Iguña 1.984 Argoños 1 Arnuero 19 Arredondo 598 El Astillero 14.202 Bárcena de Cicero 249 Bárcena de Pie de Concha 885 Bareyo 169 Cabezón de la Sal 7.639 Cabezón de Liébana 727 Cabuérniga 1.114 Camaleño 1.106 Camargo 23.914 Campoo de Enmedio 3.995 Campoo de Yuso 753 Cartes 3.681 Castañeda ...

This article does not cite any sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: List of deputy prime ministers of Malta – news · newspapers · books · scholar · JSTOR (October 2021) (Learn how and when to remove this template message) Deputy Prime Minister of Malta Viċi Prim Ministru ta' Malta (Maltese)Coat of Arms of the Republic of MaltaIncumbentChr...

 

Overview of the role of transhumanism in fiction This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Transhumanism in fiction – news · newspapers · books · scholar · JSTOR (March 2013) (Learn how and when to remove this template message) Transhumanism Concepts Emerging technologies Hypothetical technologies Inno...

 

BastiaNama lengkapAssociazione CalcioBastia 1924JulukanBiancorossiBerdiri1924StadionStadio ComunaleBastia Umbra, Italy(Kapasitas: 1,500[1])KetuaGianni Cristofani[2]ManajerMassimo Cocciari[3]LigaSerie D2011-12Eccellenza Umbria, 1st Kostum kandang Kostum tandang A.C. Bastia 1924 adalah sebuah klub sepak bola Italia yang berada di Bastia Umbra, Umbria. Klub ini bermain di Serie D dari tahun 1956 hingga 1958 dan tahun 1988 hingga 1995; Saat ini mereka kembali bermain di Se...

Basilika Santo Wilibrordus di Biara Echternach, Echternach Ini adalah daftar basilika di Luksemburg. Katolik Daftar basilika Gereja Katolik di Luksemburg[1]: Basilika Santo Wilibrordus di Biara Echternach, Echternach Lihat juga Gereja Katolik Roma Gereja Katolik di Luksemburg Daftar katedral di Luksemburg Daftar basilika Biara Echternach Referensi ^ Basilika di seluruh dunia lbsDaftar basilika di EropaNegaraberdaulat Albania Andorra Armenia1 Austria Azerbaijan1 Belanda Belarus Belgia ...

 

Orchard ParktownOrchard Park, New York Orchard Park – Veduta LocalizzazioneStato Stati Uniti Stato federato New York ConteaErie TerritorioCoordinate42°46′00.12″N 78°43′59.88″W / 42.7667°N 78.7333°W42.7667; -78.7333 (Orchard Park)Coordinate: 42°46′00.12″N 78°43′59.88″W / 42.7667°N 78.7333°W42.7667; -78.7333 (Orchard Park) Altitudine264 m s.l.m. Superficie100 km² Abitanti29 054 (1-7-2010) Densità290,54...

 

この項目には、一部のコンピュータや閲覧ソフトで表示できない文字が含まれています(詳細)。 数字の大字(だいじ)は、漢数字の一種。通常用いる単純な字形の漢数字(小字)の代わりに同じ音の別の漢字を用いるものである。 概要 壱万円日本銀行券(「壱」が大字) 弐千円日本銀行券(「弐」が大字) 漢数字には「一」「二」「三」と続く小字と、「壱」「�...

Содержание 1 Состав 2 История и цели 3 Издание пособия 4 Проект WNS 5 «Кодекс этики» 6 См. также 7 Примечания 8 Литература 9 Ссылки Всемирная ассоциация по развитию филателии Тип организации международная ассоциация[d] Основание Дата основания 1997 Всеми́рная ассоциа́ция по разв...

 

Голубянки Самец голубянки икар Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ПервичноротыеБез ранга:ЛиняющиеБез ранга:PanarthropodaТип:ЧленистоногиеПодтип:ТрахейнодышащиеНадкласс:ШестиногиеКласс...

 

Nasel (bahasa Inggris: nacelle) (/nəˈsɛl/ nə-SELL) adalah tempat terpisah dari badan pesawat yang menahan mesin, bahan bakar, atau peralatan pesawat terbang. Dalam beberapa kasus-misalnya dalam khas Farman type pendorong pesawat, atau kokpit-era Perang Dunia II P-38 Lightning pesawat juga dapat ditempatkan di sebuah nasel, yang pada dasarnya mengisi fungsi dari pesawat konvensional. Penutup ini biasanya berbentuk aerodinamis.[1] Referensi ^ Ilan Kroo, Professor of Aeronautics and...

此条目序言章节没有充分总结全文内容要点。 (2019年3月21日)请考虑扩充序言,清晰概述条目所有重點。请在条目的讨论页讨论此问题。 哈萨克斯坦總統哈薩克總統旗現任Қасым-Жомарт Кемелұлы Тоқаев卡瑟姆若马尔特·托卡耶夫自2019年3月20日在任任期7年首任努尔苏丹·纳扎尔巴耶夫设立1990年4月24日(哈薩克蘇維埃社會主義共和國總統) 哈萨克斯坦 哈萨克斯坦政府...

 

A map showing the states with official state horses marked in red and those with proposed designations marked in yellow Twelve U.S. states have designated a horse breed as the official state horse, two have a horse breed as their state animal, one has an official state pony, and one has a honorary state equine. The first state horse was designated in Vermont in 1961. The most recent state horse designations occurred in 2023 when Virginia designated the Chincoteague Pony as its state pony and...

 

Pour les articles homonymes, voir Bare. Bare Варе Administration Pays Serbie Province Serbie centrale Région Zapadno Pomoravlje District Raška Ville Kraljevo Démographie Population 138 hab. (2011) Géographie Coordonnées 43° 26′ 37″ nord, 20° 40′ 26″ est Altitude 733 m Localisation Géolocalisation sur la carte : Serbie Bare Géolocalisation sur la carte : Serbie Bare modifier  Bare (en serbe cyrillique : Варе)...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Intramolecular force – news · newspapers · books · scholar · JSTOR (October 2017) (Learn how and when to remove this message) An intramolecular force (or primary forces) is any force that binds together the atoms making up a molecule or compound, not to be conf...

 

American magazine publisher (1898–1967) For his father, the missionary and educator, see Henry W. Luce. Henry LuceLuce in 1954BornHenry Robinson Luce(1898-04-03)April 3, 1898Tengchow, ChinaDiedFebruary 28, 1967(1967-02-28) (aged 68)Phoenix, Arizona, U.S.Alma materYale UniversityOccupation(s)Publisher, journalistPolitical partyRepublicanSpouses Lila Ross Hotz ​ ​(m. 1923; div. 1935)​ Clare Boothe Luce ​ ​(m. 1...

 

Islamic religious complex in Bukhara, Uzbekistan Po-i-KalanCourtyard at Po-i-Kalyan,with the madrasa and minaretReligionAffiliationIslamDistrictBukharaProvinceBukharaEcclesiastical or organizational statusMosque complexLocationLocationBukhara, UzbekistanCountryUzbekistanShown within UzbekistanGeographic coordinates39°46′33″N 64°24′51″E / 39.77583°N 64.41417°E / 39.77583; 64.41417ArchitectureTypeMosque, madrasa, courtyards, minaretStyleIslamicCompleted12th-c...

National museum of Asian arts in Paris, FranceGuimet MuseumThe museum in December 2013Location within ParisEstablished1879Coordinates48°51′55″N 2°17′38″E / 48.86528°N 2.29389°E / 48.86528; 2.29389TypeAsian artWebsitewww.guimet.fr (in French) The Guimet Museum (full name in French: Musée national des arts asiatiques-Guimet; MNAAG; abbr. Musée Guimet) is an art museum located at 6, place d'Iéna in the 16th arrondissement of Paris, France. Literally transla...

 

City in Karnataka, IndiaSagara SagarSagar JambagaruCitySagaraLocation in Karnataka, IndiaCoordinates: 14°10′00″N 75°02′00″E / 14.1667°N 75.0333°E / 14.1667; 75.0333Country IndiaStateKarnatakaRegionMalenaduDistrictShivamoggaSubdivisionSagaraFounded bySadashiva NayakaGovernment • TypeDemocratic • BodyCity Municipal CouncilArea • City19.75 km2 (7.63 sq mi) • Rural1,771.11 km2 (683.83...