3566 019 cs110 FALL 1999 95
5544 019 cs110 FALL 1999 100
5.23 Views in SQL 157
3566 019 cs240 SPRING 2000 100
2415 019 cs240 SPRING 2000 100
5571 234 cs410 SPRING 2000 80
1011 019 cs210 FALL 2000 90
3566 019 cs210 FALL 2000 90
5571 019 cs210 SPRING 2001 85
1011 056 cs240 SPRING 2001 90
4022 056 cs240 SPRING 2001 80
2661 234 cs310 SPRING 2001 100
To reestablish the previous content of GRADES, we can use the update:
update UPPERGR
set grade = 80
where stno = ’2661’ and empno = ’019’ and cno = ’cs110’
and sem = ’FALL’ and year = 1999;
The standard syntax of create view allows us to use the clause with check
option. When this clause is used, every insertion and update done through the
view is verified to make sure that a tuple inserted through the view actually
appears in the view and an update of a row in the view does not cause the row
to vanish from the view.
The syntax of create view is:
create view view as
subselect
[with check option]
A view V can be dropped from a database by using the construct
drop view V;
If we drop a tabular variable from the database, then all views based on that
table are automatically dropped; if we drop a view, then all other views that
use the view that we drop are also dropped.
Views are useful instruments in implementing generalizations. Suppose, that
we began the construction of the college database from the existing tabular
variables UNDERGRADUATES and GRADUATES that modelled sets of entities
having the same name, where
heading(UNDERGRADUATES) = stno name addr city state zip major
heading(GRADUATES) = stno name addr city state zip qualdate
Then, the tabular variable STUDENTS could have been obtained as a view
built from the previous two base tabular variables by
create view STUDENTS as
select stno name addr city state zip
from UNDERGRADUATES
union
158 SQL — The Relational Language
user catalog
TABLE NAME TABLE TYPE
STUDENTS TABLE
INSTRUCTORS TABLE
COURSES TABLE
GRADES TABLE
ADVISING TABLE
select stno name addr city state zip
from GRADUATES
5.24 Accessing metadata in SQLPlus
The catalog of ORACLE is a very large tabular variable that can be accessed
through several views defined on this table.
In ORACLE a list of the table owned by the current user is contained by
the view user catalog, also accessible through its synonym cat. A content of this
view is shown in Figure 5.24.
Information that describes space allocation and statistical properties can be
found in the view named USER TABLES, also named TABS. A description of
the attributes of tabular variables and of their domains can be found in the view
USER TAB COLUMNS also accessible as COLS. For example, the query:
select table_name,column_name,data_type from COLS;
results in the following table:
TABLE_NAME COLUMN_NAME DATA_TYPE
ADVISING STNO CHAR
ADVISING EMPNO CHAR
COURSES CNO CHAR
COURSES CNAME CHAR
COURSES CR NUMBER
GRADES STNO CHAR
GRADES EMPNO CHAR
GRADES CNO CHAR
GRADES SEM CHAR
GRADES YEAR NUMBER
GRADES GRADE NUMBER
INSTRUCTORS EMPNO CHAR
INSTRUCTORS NAME CHAR
INSTRUCTORS RANK CHAR
INSTRUCTORS ROOMNO NUMBER
INSTRUCTORS TELNO CHAR
STUDENTS STNO CHAR
STUDENTS NAME CHAR
5.25 Exercises 159
STUDENTS ADDR CHAR
STUDENTS CITY CHAR
STUDENTS STATE CHAR
STUDENTS ZIP CHAR
A more complete list of objects that belong to the current user can be found
in the view USER OBJECTS which lists all objects created by the user, including
those mentioned in USER CATALOG, as well as other useful information (such
as the date of creation, the last time when the object was affected by a data
definition statement, the status of the object, etc.)
The definition of views can be accessed by the USER VIEWS catalog view.
Example 5.24.1 The meta-view (view about views) USER VIEWS has the
structure described below:
Name Null? Type
------------------------------- -------- --------------
VIEW_NAME NOT NULL VARCHAR2(30)
TEXT_LENGTH NUMBER
TEXT LONG
TYPE_TEXT_LENGTH NUMBER
TYPE_TEXT VARCHAR2(4000)
OID_TEXT_LENGTH NUMBER
OID_TEXT VARCHAR2(4000)
VIEW_TYPE_OWNER VARCHAR2(30)
VIEW_TYPE VARCHAR2(30)
SUPERVIEW_NAME VARCHAR2(30)
The last six attributes are important for object views discussed in Chapter 7.
To extract the definition of the view UPPERGR defined above we write:
select text from user_views where view_name=’UPPERGR’;
This query returns the result:
TEXT
------------------------------------------------------------
select "STNO","EMPNO","CNO","SEM","YEAR","GRADE" from GRADES
where grade > 75
3566 019 cs110 FALL 1999 95
5544 019 cs110 FALL 1999 100
5.23 ครั้งใน SQL 157
3566 019 cs240 SPRING 2,000 100
2,415 019 cs240 SPRING 2000 100
5571 234 cs410 SPRING 2000 80
1011 019 cs210 ฤดูใบไม้ร่วง 2000 90
3566 019 cs210 ฤดูใบไม้ร่วง 2000 90
5571 019 cs210 SPRING 2001 85
1011 056 cs240 SPRING 2001 90
4022 056 cs240 SPRING 2001 80
2661 234 CS310 SPRING 2001 100
ในการกอบกู้เนื้อหาก่อนหน้าของการเรียนเราสามารถใช้การปรับปรุง:
การปรับปรุง UPPERGR
ชุดชั้นประถมศึกษาปี 80 =
ที่ stno = '2661' และ empno = '019' และ CNO = 'cs110'
และ SEM = 'FALL' และในปี = 1999;
ไวยากรณ์มาตรฐานของการสร้างมุมมองช่วยให้เราสามารถใช้คำสั่งที่มีการตรวจสอบ
ตัวเลือก เมื่อคำสั่งนี้จะใช้การแทรกทุกคนและการปรับปรุงทำผ่าน
มุมมองที่มีการยืนยันเพื่อให้แน่ใจว่า tuple แทรกผ่านมุมมองของจริง
จะปรากฏในมุมมองและการปรับปรุงของแถวในมุมมองไม่ก่อให้เกิดแถว
ที่จะหายไปจากมุมมอง .
ไวยากรณ์ของสร้างมุมมองคือ
สร้างมุมมองมุมมองเป็น
subselect
[มีตัวเลือกในการตรวจสอบ]
V มุมมองสามารถลดลงจากฐานข้อมูลโดยใช้โครงสร้าง
แบบเลื่อนดู V;
ถ้าเราวางตัวแปรตารางจากฐานข้อมูลแล้วในทุกมุมมองตาม ที่
โต๊ะจะลดลงโดยอัตโนมัติ ถ้าเราวางมุมมองแล้วมุมมองอื่น ๆ ทั้งหมดที่
ใช้มุมมองที่เราจะลดลงนอกจากนี้ยังลดลง.
ชมเป็นเครื่องมือที่มีประโยชน์ในการดำเนินการ generalizations สมมติว่า
เราได้เริ่มการก่อสร้างของฐานข้อมูลจากวิทยาลัยตารางที่มีอยู่
ตัวแปรนักศึกษาระดับปริญญาตรีและบัณฑิตที่ถ่ายแบบชุดของหน่วยงาน
ที่มีชื่อเดียวกันที่
มุ่งหน้า (นักศึกษาปริญญาตรี) = ชื่อเมือง addr stno รัฐซิปที่สำคัญ
หัวข้อ (ผู้สำเร็จการศึกษา) = ชื่อ addr stno เมืองซิปรัฐ qualdate
จากนั้นนักเรียนตัวแปรตารางจะได้รับในฐานะที่เป็นมุมมอง
ที่สร้างขึ้นจากก่อนหน้านี้สองตัวแปรตารางฐานโดยการ
สร้างมุมมองที่เป็นนักเรียน
เลือกชื่อ stno addr ซิปเมืองรัฐ
จากนักศึกษาระดับปริญญาตรี
สหภาพ
158 SQL - ภาษาสัมพันธ์
ของผู้ใช้อยู่ในรายการ
ชื่อตาราง ตารางประเภท
นักเรียนตาราง
อาจารย์ตาราง
หลักสูตรตาราง
เรียนตาราง
ตารางแนะนำด้านการ
เลือกชื่อ addr stno เมืองรัฐซิป
จากผู้สำเร็จการศึกษา
5.24 การเข้าถึงข้อมูลเมตาใน SQLPlus
แคตตาล็อกของ ORACLE เป็นตัวแปรตารางมีขนาดใหญ่มากที่สามารถเข้าถึงได้
ผ่านมุมมองหลายกำหนดไว้ในตารางนี้.
ใน Oracle รายชื่อของตารางที่เป็นเจ้าของโดยผู้ใช้ปัจจุบันที่มีอยู่โดย
ใช้มุมมองรายการที่ยังสามารถเข้าถึงได้ผ่านแมวไวพจน์ของ เนื้อหาของเรื่องนี้
มุมมองที่แสดงในรูปที่ 5.24.
ข้อมูลที่อธิบายถึงการจัดสรรพื้นที่และคุณสมบัติทางสถิติสามารถ
พบได้ในมุมมองที่มีชื่อตารางผู้ใช้เช่นชื่อแท็บ รายละเอียดของ
ลักษณะของตัวแปรตารางและโดเมนของพวกเขาสามารถพบได้ในมุมมองของ
ผู้ใช้แท็บคอลัมน์ยังสามารถเข้าถึงเป็น COLS ตัวอย่างเช่นแบบสอบถาม:
เลือก table_name, column_name, data_type จาก COLS;
ผลในตารางต่อไปนี้:
TABLE_NAME COLUMN_NAME data_type
แนะนำด้านการ STNO CHAR
แนะนำด้านการ EMPNO CHAR
หลักสูตร CNO CHAR
หลักสูตร CNAME CHAR
หลักสูตร CR จำนวน
เรียน STNO CHAR
เรียน empno CHAR
เรียน CNO CHAR
เรียน SEM CHAR
เรียนจำนวนปี
เรียนชั้นประถมศึกษาปีจำนวน
อาจารย์ EMPNO CHAR
อาจารย์ชื่อ CHAR
อาจารย์ RANK CHAR
อาจารย์ ROOMNO จำนวน
อาจารย์ TELNO CHAR
นักเรียน STNO CHAR
นักเรียนชื่อ CHAR
5.25 แบบฝึกหัด 159
นักเรียน ADDR CHAR
นักเรียน CITY CHAR
นักเรียนของรัฐ CHAR
นักเรียนไปรษณีย์ CHAR
รายการที่สมบูรณ์ของวัตถุที่ เป็นผู้ใช้ปัจจุบันสามารถพบได้
ในมุมมองวัตถุผู้ใช้ซึ่งจะแสดงรายการวัตถุทั้งหมดที่สร้างขึ้นโดยผู้ใช้รวมถึง
ผู้ที่กล่าวถึงในตตาของผู้ใช้เช่นเดียวกับข้อมูลที่เป็นประโยชน์อื่น ๆ (เช่น
เป็นวันของการสร้างครั้งสุดท้ายเมื่อวัตถุเป็น รับผลกระทบจากข้อมูล
คำสั่งนิยามสถานะของวัตถุ ฯลฯ )
นิยามของมุมมองที่สามารถเข้าถึงได้โดยมุมมองของผู้ใช้ดูแคตตาล็อก.
ตัวอย่าง 5.24.1 เมตามุมมอง (มุมมองเกี่ยวกับมุมมอง) ผู้ใช้มุมมองที่มี
โครงสร้างอธิบายไว้ด้านล่าง :
Name Null? พิมพ์
------------------------------- -------- ---------- ----
VIEW_NAME NOT NULL VARCHAR2 (30)
TEXT_LENGTH จำนวน
ข้อความยาว
TYPE_TEXT_LENGTH จำนวน
TYPE_TEXT VARCHAR2 (4000)
OID_TEXT_LENGTH จำนวน
OID_TEXT VARCHAR2 (4000)
VIEW_TYPE_OWNER VARCHAR2 (30)
VIEW_TYPE VARCHAR2 (30)
SUPERVIEW_NAME VARCHAR2 (30)
ที่ผ่านมาหกคุณลักษณะที่มีความสำคัญ . สำหรับมุมมองวัตถุที่กล่าวไว้ในบทที่ 7
เพื่อแยกความหมายของ UPPERGR มุมมองที่กำหนดไว้ข้างต้นเราเขียน:
เลือกข้อความจาก user_views ที่ view_name = 'UPPERGR';
แบบสอบถามนี้ส่งกลับผล:
TEXT
----------- -------------------------------------------------
เลือก "STNO", "EMPNO", "CNO", "SEM", "ปี", "ชั้นประถมศึกษาปี" จากการเรียน
ที่คะแนน> 75
การแปล กรุณารอสักครู่..

2376 019 cs110 ฤดูใบไม้ร่วง 1999 95
5544 019 cs110 ฤดูใบไม้ร่วง 1999 100
5.23 ในมุมมอง SQL 157
2376 019 cs240 ฤดูใบไม้ผลิ 2000 100
2415 019 cs240 ฤดูใบไม้ผลิ 2000 100
5571 234 cs410 ฤดูใบไม้ผลิ 2000 80
คุณ 019 cs210 ฤดูใบไม้ร่วง 2000 90
2376 019 cs210 ฤดูใบไม้ร่วง 2000 90
5571 019 cs210 ฤดูใบไม้ผลิ ปี 2001 85
ชั้น 056 cs240 ฤดูใบไม้ผลิ ปี 2001 90
3763 056 cs240 ฤดูใบไม้ผลิ ปี 2001 80
2661 234 cs310 ฤดูใบไม้ผลิ ปี 2001 100
เพื่อสร้างเนื้อหาก่อนหน้าของเกรดเราสามารถใช้ปรับปรุง : ปรับปรุง uppergr
ตั้งเกรด = 80
ที่ stno = ' ' = ' 2661 empno 019 ' และ ' ' cs110 CNO =
= ' ตก ' และ SEM และปี = 1999 ;
มาตรฐานการสร้างมุมมองให้เราใช้มาตราการตรวจสอบ
ตัวเลือก เมื่อประโยคนี้ใช้ทุกแบบปรุงเสร็จผ่าน
มุมมองคือการตรวจสอบเพื่อให้แน่ใจว่าเป็นทูเปิลที่แทรกผ่านมุมมองที่จริง
จะปรากฏขึ้นในมุมมองและการปรับปรุงของแถวในมุมมองที่ไม่ก่อให้เกิดแถว
หายไปจากมุมมอง ของไวยากรณ์สร้างวิว วิว วิวเป็น
สร้าง : subselect
[ ]
มุมมองตัวเลือกตรวจสอบ V สามารถลดลงจากฐานข้อมูลโดยการสร้างวิว v
ปล่อย ;
ถ้าเราวางตัวแปรตารางจากฐานข้อมูลแล้วมุมมองทั้งหมดขึ้นอยู่กับว่า
โต๊ะโดยอัตโนมัติลดลง ถ้าเราวางดูแล้วทั้งหมดที่มุมมองอื่น ๆที่ใช้มุมมองที่เราวาง
ยังตก วิวเป็นเครื่องมือที่มีประโยชน์ในการใช้ทั่วไป . สมมติว่า
เราเริ่มการก่อสร้างของวิทยาลัยฐานข้อมูลจากตารางนักศึกษาบัณฑิต
ตัวแปรที่มีอยู่และที่จำลองชุดของหน่วยงาน
ที่มีชื่อเดียวกันที่
หัวเรื่อง ( นักศึกษา ) = stno ชื่อเมืองรัฐไปรษณีย์สาขา
บาปหัวเรื่อง ( จบ ) = stno ชื่อเมืองรัฐรหัสไปรษณีย์บาป qualdate
จากนั้นนักเรียนตัวแปรตารางจะได้รับเป็นมุมมอง
สร้างขึ้นจากก่อนหน้านี้สองฐานตารางตัวแปร โดยสร้างวิวโดยนักเรียน
เลือกชื่อเมืองรัฐรหัสไปรษณีย์ stno บาปจากสหภาพนักศึกษา
แล้ว SQL - สัมพันธ์ผู้ใช้ภาษา
แคตตาล็อก
ชื่อโต๊ะ ประเภทนักศึกษา อาจารย์ โต๊ะโต๊ะโต๊ะ
คอร์สตารางแนะนำการเลือกตารางคะแนน
stno ชื่อเมืองรัฐรหัสไปรษณีย์บาปจากบัณฑิต
ซื้อการเข้าถึงข้อมูลเมตาใน sqlplus
แคตตาล็อกของ Oracle เป็นขนาดใหญ่มากตารางตัวแปรที่สามารถเข้าถึง
ผ่านหลายมุมมองที่กำหนดไว้บนโต๊ะนี่ .
ใน Oracle รายการของตารางที่เป็นเจ้าของโดยผู้ใช้ปัจจุบันที่มีอยู่โดย
ผู้ใช้ยังสามารถเข้าถึงได้ผ่านมุมมองรายการของคำที่เกี่ยวข้องแมว . เนื้อหาของเรื่องนี้
มุมมองที่แสดงในรูปที่ 5.24 .
ข้อมูลที่อธิบายถึงการจัดสรรพื้นที่และคุณสมบัติทางสถิติสามารถพบได้ในมุมมองตาราง
ชื่อผู้ใช้นามว่า แท็บ อธิบายคุณลักษณะของตัวแปร
ตารางและโดเมนของพวกเขาสามารถพบได้ในแท็บมุมมอง
ผู้ใช้ยังสามารถเข้าถึงได้เป็นคอลัมน์ colh . ตัวอย่างเช่น การเลือก table_name column_name :
, ,
data_type จาก colh ;ผลลัพธ์ในตารางต่อไปนี้ :
table_name column_name data_type
แนะนำ stno char
แนะนำ empno ถ่านชาร์
หลักสูตร CNO หลักสูตร CNAME char
คอร์ส CR หมายเลข
เกรด stno char
เกรด empno ถ่านชาร์
เกรด CNO เกรด SEM char
เกรดปีเลขที่
เกรดเกรดเลข
อาจารย์ empno อาจารย์ชื่ออาจารย์
ถ่านชาร์ ตำแหน่งอาจารย์เลข roomno ชาร์
อาจารย์ telno ชาร์ stno char
นักศึกษานักเรียนที่ชื่อ Char
นักเรียนตามแบบฝึกหัด 159 บาปชาร์
นักเรียนเมืองชาร์
นักเรียนนักศึกษาสภาพถ่านซิปถ่าน
รายการที่สมบูรณ์มากขึ้นของวัตถุที่เป็นของผู้ใช้ปัจจุบันสามารถพบ
ในผู้ใช้มุมมองวัตถุซึ่งแสดงรายการวัตถุที่สร้างขึ้นโดยผู้ใช้รวมถึง
ผู้ที่กล่าวถึงในรายการของผู้ใช้ได้เป็นอย่างดี เป็นข้อมูลที่เป็นประโยชน์อื่น ๆ ( เช่น
ตามวันที่สร้างครั้งสุดท้ายเมื่อวัตถุได้รับผลกระทบจากคำสั่งนิยามข้อมูล
, สถานะของวัตถุ ฯลฯ )
ความหมายของมุมมองที่สามารถเข้าถึงได้โดยผู้ใช้แคตตาล็อกมุมมองมุมมอง
ตัวอย่าง 5.24.1 meta วิว ( มุมมองเรื่องความคิดเห็นมุมมองผู้ใช้มีโครงสร้างที่อธิบายไว้ด้านล่าง :
ชื่อ null ? ประเภท --------------
--------
------------------------------- view_name ไม่ null varchar2 ( 30 )
text_length หมายเลขข้อความยาว
type_text_length จำนวน type_text varchar2 ( 4000 )
oid_text_length จำนวน oid_text varchar2 ( 4000 )
view_type_owner varchar2 ( 30 ) ( 30 )
view_type varchar2 superview_name varchar2 ( 30 )
6 คุณลักษณะสำคัญสำหรับวัตถุมุมมองที่กล่าวถึงในบทที่ 7
แยกความหมายของมุมมอง uppergr นิยามข้างต้น เราเขียน :
ข้อความที่เลือกจาก user_views ที่ view_name = 'uppergr
' ;แบบสอบถามนี้จะส่งกลับผล :
เลือกข้อความ ------------------------------------------------------------ " stno " , " empno " , " CNO " , " SEM " , " ปี " , " เกรด " จากคะแนนเกรด > 75
ที่
การแปล กรุณารอสักครู่..
