⑴ SQL之同義詞
【十四】同義詞
14.1 作用
從字面上理解就是別名的意思,和視圖的功能類似,就是一種映射關系。
14.2公有同義詞
同義詞通常是資料庫對象的別名;公有同義詞一般由DBA創建,使所有用戶都可使用;創建者需要create public synonym許可權。
示例:
14.3私有同義詞告肆
一般是普通用戶自己建立的同義詞,創建者需要create synonym 許可權。
查看同義詞的視圖:dba_synonyms
刪除私有同義詞:drop synonym 同義詞名
刪除公有同義詞:drop public synonym 同義詞名
14.3 同義段友數詞的要點
1)私有同義詞是模式對象,一般在自己的模式中使用,如其他模式使用則必須用模式名前綴限定。
2)公有同義詞不是模式對象,不能用模式名做前綴。
3)私握首有和公有同義詞同名時,如果指向不同的對象,私有同義詞優先。
4)引用的同義詞的對象(表或視圖)被刪除了,同義詞仍然存在,這同視圖類似,重新創建該對象名,下次訪問同義詞時自動編譯。
the end !!!
@jackman 共築美好!
⑵ oracle里synonym的作用是什麼
Oracle同義詞的作用是:
1、 多用戶協同開發中,可以屏蔽對象的名字及其持有者。如果沒有同義詞,當操作其他用戶的表時,必須通過user名.object名的形式,採用了Oracle同義詞之後就可以隱蔽掉user名。
當然這里要注意的是:public同義中圓詞只是為資料庫對象定義了一個公共的別名,其他用戶能否通過這個別名訪衡培念問這個資料庫對象,還要看是否咐困已經為這個用戶授權。
2、為用戶簡化sql語句。上面的一條其實就是一種簡化sql的體現,同時如果自己建的表的名字很長,可以為這個表創建一個Oracle同義詞來簡化sql開發。
3、為分布式資料庫的遠程對象提供位置透明性。
(2)synonym資料庫擴展閱讀:
Oracle資料庫中提供了同義詞管理的功能。同義詞是資料庫方案對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。在使用同義詞時,Oracle資料庫將它翻譯成對應方案對象的名字。與視圖類似,同義詞並不佔用實際存儲空間,只有在數據字典中保存了同義詞的定義。
在Oracle資料庫中的大部分資料庫對象,如表、視圖、同義詞、序列、存儲過程、包等等,資料庫管理員都可以根據實際情況為他們定義同義詞。Oracle同義詞有兩種類型,分別是公用Oracle同義詞與私有Oracle同義詞。
參考資料來源:網路-同義詞
⑶ 資料庫同義詞
可以除去對象名必須帶的方案限制,並提供一個可替換的對象名,對判李碧具有特別長的對象的名字特別擾慧有用。
CREATE SYNONYM 同義詞名 FOR 對象名 ;
同義詞表 user_synonyms
DROP SYNONYM 同義詞掘舉名
⑷ 如何創建同義詞
同義詞是資料庫方案對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。下面就讓我們來了解一下如何創建同義詞!
Oracle的同義詞有兩種類型:公有同義詞與私有同義詞。
1:公有同義詞由一個特殊的用戶組Public所擁有。
2:私有同義詞是由創建他的用戶所有。
創建同義詞的語法:
Create [public] synonym 同義詞名稱 for [username.]objectName
刪除同義詞的語法:
Drop [public] synonym 同義詞名稱
查看所有同義詞:
select * from dba_synonyms
【Oracle同義詞創建及其作用】
從字面上理解就是別名的意思,和試圖的功能類似。就是一種映射關系。
1.創建同義詞語句:
create public synonym table_name for user.table_name;
其中第一個user_table和第二個user_table可以不一樣。 此外如果要創建一個遠程的資料庫上的某張表的同義詞,需要先創建一個Database Link(資料庫連接)來擴展訪問,然後在使用如下語句創此埋建資料庫同義詞:create synonym table_name for table_name@DB_Link; 當然,你可能需要在user用戶中給當前用戶(user2)授權: grant select//on user2
2.刪除同義詞:
drop public synonym table_name;
3.查看所有同義詞:
select * from dba_synonyms
同義詞擁有如下好處:節省大量的資料庫空間,對不同用戶的操作同一張表沒有多少差別;擴展的資料庫的.使用范圍,能夠在不同的資料庫用戶之間實現無縫交互;同義詞可以創建在不同一個資料庫伺服器上,通過網路實現連接。
Oracle資料庫中提供了同義詞管理的功能。Oracle同義詞是資料庫方案對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。
AD:
在Oracle中對用戶的管理是使用許可權的方式來管理的,也就是說,如果我們想使用資料庫,我們就必須得有許可權,但是如果是別人將許可權授予了我們,我們也是能對資料庫進行操作的,但是我們必須要已授權的表的名稱前鍵入該表所有者的名稱,所以這就是比較麻煩的,遇到這種情況,我們該怎麼辦呢?創建個Oracle同義詞吧!這樣我們就可以直接使用同義詞來使用表了。
1.同義詞的概念
Oracle資料庫中提供了同義詞管理的功能。同義詞是資料庫方案對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。在使用同義詞時,Oracle資料庫將它翻譯成對應方案對象的名字。與視圖類似,同義詞並不佔用實際存儲空間,只有在數據字典中保存了同義詞的定義。在Oracle資料庫中的大部分資料庫對象,如表、視圖、同義詞、序列、存儲過程、包等等,資料庫管理員都可以做扒鬧根據實際情況為他們定義同義詞。
2.Oracle同義詞的分類
Oracle同義詞有兩種類型,分別是公用Oracle同義詞與私有Oracle同義詞。
1)公用Oracle同義詞:由一個特殊的用戶組Public所擁有。顧名思義,資料庫中所有的用戶都可以使用公用同義詞。公用同義詞往往用來標示一些比較普通的資料庫對象,這些對象往純罩往大家都需要引用。
2)私有Oracle同義詞:它是跟公用同義詞所對應,他是由創建他的用戶所有。當然,這個同義詞的創建者,可以通過授權控制其他用戶是否有權使用屬於自己的私有同義詞。
3.Oracle同義詞創建及刪除 創建公有Oracle同義詞的語法:Create [public] synonym 同義詞名稱 for [username.]objectName;
Drop [public] synonym 同義詞名稱
4.Oracle同義詞的作用
1) 多用戶協同開發中,可以屏蔽對象的名字及其持有者。如果沒有同義詞,當操作其他用戶的表時,必須通過user名.object名的形式,採用了Oracle同義詞之後就可以隱蔽掉user名,當然這里要注意的是:public同義詞只是為資料庫對象定義了一個公共的別名,其他用戶能否通過這個別名訪問這個資料庫對象,還要看是否已經為這個用戶授權。
2) 為用戶簡化sql語句。上面的一條其實就是一種簡化sql的體現,同時如果自己建的表的名字很長,可以為這個表創建一個Oracle同義詞來簡化sql開發。
3)為分布式資料庫的遠程對象提供位置透明性。
5.Oracle同義詞在資料庫鏈中的作用 資料庫鏈是一個命名的對象,說明一個資料庫到另一個資料庫的路徑,通過其可以實現不同資料庫之間的通信。
Create database link 資料庫鏈名 connect to user名 identified by 口令 using 『Oracle連接串』; 訪問對象要通過 object名@資料庫鏈名。同義詞在資料庫鏈中的作用就是提供位置透明性。
⑸ 同義詞的在資料庫中的概念
同義詞在資料庫中的概念:是指向其它資料庫表的資料庫指針。
同義詞有兩種類型:私有和公共。私有的同義詞是在指定的模式中創建並且只有創建者使用的模式訪問。公共同義詞是由public指定的模式訪問,所有搭輪資料庫模式都可以訪問它。
圓枝棗作用:同義詞相當於模式對象的別名,起著連結資料庫模式橘拆對象和應用程序的作用。
⑹ 資料庫包括哪些
問題一:資料庫系統包括什麼? 通常由軟體、資料庫和數據管理員組成。
問題二:請問資料庫有哪些種類呢? 根據存儲模型劃分,資料庫類型主要可分為:網狀資料庫(Network Database)、關系資料庫(Relational Database)、樹狀資料庫(Hierarchical Database)、面向對象資料庫(Object-oriented Database)等。商業應用中主要是關系資料庫,比如Oracle、DB2、Sybase、MS SQL Server、Informax、MySQL等。全部羅列出來是沒有意義的,資料庫太多了,你不說你的工作是涉及哪方面,恐怕很難提供更適合你的資料庫。
初級應用一般是ACCESS 配合的腳本程序一般是 ASP ASP.NET JSPMICROSOFT SQL 比較復雜點 不過功能強大很多 配合的腳本和ACCESS的一樣MYSQL和PHP的組合是比較完美的如果你需要處理1000W條數據以上級別的數據,那以上的都不合適,一般用的比較多的是ORACLE 這個入門難度非常大如果想學的話就先學MICROSOFT SQL吧,這個網上教學比較多,ASP.NET 2.0,應用的是非常廣泛的。
問題三:sql數據類型有哪些 一、 整數數據類型
整數數據類型是最常用的數據類型之一。
1、INT (INTEGER)
INT (或INTEGER)數據類型存儲從-2的31次方 (-2 ,147 ,483 ,648) 到2的31次方-1 (2 ,147 ,483,647) 之間的所有正負整數。每個INT 類型的數據按4 個位元組存儲,其中1 位表示整數值的正負號,其它31 位表示整數值的長度和大小。
2、SMALLINT
SMALLINT 數據類型存儲從-2的15次方( -32, 768) 到2的15次方-1( 32 ,767 )之間的所有正負整數。每個SMALLINT 類型的數據佔用2 個位元組的存儲空間,其中1 位表示整數值的正負號,其它15 位表示整數值的長度和大小。
3、TINYINT
TINYINT數據類型存儲從0 到255 之間的所有正整數。每個TINYINT類型的數據佔用1 個位元組的存儲空間。
4、BIGINT
BIGINT 數據類型存儲從-2^63 (-9 ,223, 372, 036, 854, 775, 807) 到2^63-1( 9, 223, 372, 036 ,854 ,775, 807) 之間的所有正負整數。每個BIGINT 類型的數據佔用8個位元組的存儲空間。
二、 浮點數據類型
浮點數據類型用於存儲十進制小數。浮點數值的數據在SQL Server 中採用上舍入(Round up 或稱為只入不舍)方式進行存儲。所謂上舍入是指,當(且僅當)要舍入的數是一個非零數時,對其保留數字部分的最低有效位上的數值加1 ,並進行必要的進位。若一個數是上舍入數,其絕對值不會減少。如:對3.14159265358979 分別進行2 位和12位舍入,結果為3.15 和3.141592653590。
1、REAL 數據類型
REAL數據類型可精確到第7 位小數,其范圍為從-3.40E -38 到3.40E +38。 每個REAL類型的數據佔用4 個位元組的存儲空間。
2、FLOAT
FLOAT數據類型可精確到第15 位小數,其范圍為從-1.79E -308 到1.79E +308。 每個FLOAT 類型的數據佔用8 個位元組的存儲空間。 FLOAT數據類型可寫為FLOAT[ n ]的形式。n 指定FLOAT 數據的精度。n 為1到15 之間的整數值。當n 取1 到7 時,實際上是定義了一個REAL 類型的數據,系統用4 個位元組存儲它;當n 取8 到15 時,系統認為其是FLOAT 類型,用8 個位元組存儲它。
3、DECIMAL
DECIMAL數據類型可以提供小數所需要的實際存儲空間,但也有一定的限制,您可以用2 到17 個位元組來存儲從-10的38次方-1 到10的38次方-1 之間的數值。可將其寫為DECIMAL[ p [s] ]的形式,p 和s 確定了精確的比例和數位。其中p 表示可供存儲的值的總位數(不包括小數點),預設值為18; s 表示小數點後的位數,預設值為0。 例如:decimal (15 5),表示共有15 位數,其中整數10 位,小數5。 位表4-3 列出了各精確度所需的位元組數之間的關系。
4、NUMERIC
NUMERIC數據類型與DECIMAL數據類型完全相同。
注意:SQL Server 為了和前端的開發工具配合,其所支持的數據精度默認最大為28位。
三、 二進制數據類型
1、BINARY
BINARY 數據類型用於存儲二進制數據。其定義形式為BINARY( n), n 表示數據的長度,取值為1 到......>>
問題四:常用資料庫有哪些? 1. IBM 的DB2
作為關系資料庫領域的開拓者和領航人,IBM在1997年完成了System R系統的原型,1980年開始提供集成的資料庫伺服器―― System/38,隨後是SQL/DSforVSE和VM,其初始版本與SystemR研究原型密切相關。DB2 forMVSV1 在1983年推出。該版本的目標是提供這一新方案所承諾的簡單性,數據不相關性和用戶生產率。1988年DB2 for MVS 提供了強大的在線事務處理(OLTP)支持,1989 年和1993 年分別以遠程工作單元和分布式工作單元實現了分布式資料庫支持。最近推出的DB2 Universal Database 6.1則是通用資料庫的典範,是第一個具備網上功能的多媒體關系資料庫管理系統,支持包括Linux在內的一系列平台。
2. Oracle
Oracle 前身叫SDL,由Larry Ellison 和另兩個編程人員在1977創辦,他們開發了自己的拳頭產品,在市場上大量銷售,1979 年,Oracle公司引入了第一個商用SQL 關系資料庫管理系統。Oracle公司是最早開發關系資料庫的廠商之一,其產品支持最廣泛的操作系統平台。目前Oracle關系資料庫產品的市場佔有率名列前茅。
3. Informix
Informix在1980年成立,目的是為Unix等開放操作系統提供專業的關系型資料庫產品。公司的名稱Informix便是取自Information 和Unix的結合。Informix第一個真正支持SQL語言的關系資料庫產品是Informix SE(StandardEngine)。InformixSE是在當時的微機Unix環境下主要的資料庫產品。它也是第一個被移植到Linux上的商業資料庫產品。
4. Sybase
Sybase公司成立於1984年,公司名稱「Sybase」取自「system」和 「database」 相結合的含義。Sybase公司的創始人之一Bob Epstein 是Ingres 大學版(與System/R同時期的關系資料庫模型產品)的主要設計人員。公司的第一個關系資料庫產品是1987年5月推出的Sybase SQLServer1.0。Sybase首先提出Client/Server 資料庫體系結構的思想,並率先在Sybase SQLServer 中實現。
5. SQL Server
1987 年,微軟和 IBM合作開發完成OS/2,IBM 在其銷售的OS/2 ExtendedEdition 系統中綁定了OS/2Database Manager,而微軟產品線中尚缺少資料庫產品。為此,微軟將目光投向Sybase,同Sybase 簽訂了合作協議,使用Sybase的技術開發基於OS/2平台的關系型資料庫。1989年,微軟發布了SQL Server 1.0 版。
6. PostgreSQL
PostgreSQL 是一種特性非常齊全的自由軟體的對象――關系性資料庫管理系統(ORDBMS),它的很多特性是當今許多商業資料庫的前身。PostgreSQL最早開始於BSD的Ingres項目。PostgreSQL 的特性覆蓋了SQL-2/SQL-92和SQL-3。首先,它包括了可以說是目前世界上最豐富的數據類型的支持;其次,目前PostgreSQL 是唯一支持事務、子查詢、多版本並行控制系統、數據完整性檢查等特性的唯一的一種自由軟體的資料庫管理系統.
......>>
問題五:資料庫的對象有哪些 Funciton:函數
Procere:存儲過程
Package:代碼包,一個包裡面,定義多個存儲過程、函數、類型、常量等
Type:自定義數據類型
Trigger:觸發器
Job:資料庫作業 (定期執行的)
Table:表
Index:索引
Constraint:約束,限制各數據項應滿足哪些限閥條件
View:視圖
Materialized View:物化視圖
Sequence:序列
User:叫 用戶
Synonym:同義詞
Database link:資料庫鏈接(ORACLE有,別的資料庫不熟,想必也應該有,可能不叫這個名字)
TableSpace:表空間(ORACLE叫這個名字,別的資料庫不熟)
CURSOR:游標
常用的大致這些,可能會有遺漏,但也應該不會差太多。
問題六:常用資料庫有哪些?他們有什麼區別 開源的Mysql頂;PostgreSQL即開放源碼的
商業的Oracle/SQL Server/DB2即收費的
問題七:查看資料庫中有哪些表空間 可以用S罰L語句 SELECT ** FROM v$tablespace
也可以用oracle enterprise manger console 直接在可視化窗口上查看
問題八:常見的資料庫應用系統有哪些? 現在極大多的企業級軟體都是基於資料庫的。
比如:
ERP: 企業資源管理計劃
CRM: 客戶關系管理
OA: 辦公自動化。
12306鐵道部的網上訂票系統。
。。。
問題九:如何看mysql都有哪些資料庫 第一步:首先是查看mysql資料庫的埠號,使用命令show
第二步:查看有哪些資料庫,
第三步:查看mysql資料庫所有用戶,
第四步:查看某個資料庫中所有的表
問題十:資料庫系統包括什麼? 通常由軟體、資料庫和數據管理員組成。
⑺ synonym oracle干什麼用的
synonym就是同義詞
Oracle的同義詞(synonyms)從字面上理解就是別名的意思改掘戚,和視圖的功能類似,就是一種映射關核陵系。它可以節省大量的資料庫空間,對不同用戶的操作同一張表沒有多少差別;它擴展了資料庫的使用范圍,能夠在不同的資料庫用戶之間實現無縫交互;Oracle資料庫中提供了同義詞管理的功能散岩。同義詞是資料庫對象的一個別名,經常用於簡化對象訪問和提高對象訪問的安全性。在使用同義詞時,Oracle資料庫將它翻譯成對應方案對象的名字。與視圖類似,同義詞並不佔用實際存儲空間,只有在數據字典中保存了同義詞的定義。在Oracle資料庫中的大部分資料庫對象,如表、視圖、物化視圖、序列、函數、存儲過程、包、同義詞等等,資料庫管理員都可以根據實際情況為他們定義同義詞。