Bahay / Mobile OS / Gumawa ng isang database ng Oracle nang manu-mano. Paggamit ng DBCA upang lumikha ng isang database Paglikha ng isang database sa oracle

Gumawa ng isang database ng Oracle nang manu-mano. Paggamit ng DBCA upang lumikha ng isang database Paglikha ng isang database sa oracle

Paglikha ng Oracle 12c Database Gamit ang Database Configuration Assistant

1. Takbo . Pindutin ang Windows button sa iyong keyboard, dadalhin ka sa start screen ( simulan screen), sa ibaba ng screen mayroong isang pindutan upang tawagan ang screen ng mga application ( Mga app screen). I-click ito.

2. Sa screen Mga app piliin ang icon Assistant sa Pag-configure ng Database.

3. Bintana Database Configuration Assistant - Database Operation. Pumili Lumikha ng isang Database. I-click Susunod.

4. Bintana Database Configuration Assistant—Mode ng Paglikha. Pumili advanced na mode. I-click Susunod.

5. Bintana Database Configuration Assistant - Database Template. Pumili Custom na Database. I-click Susunod.

6. Bintana Database Configuration Assistant - Pagkilala sa Database. Tumukoy ng base na pangalan. Sa field Pangalan ng Global Database Ilagay ang iyong pangalan DB. Ang pangalan ay maaaring arbitrary, hindi hihigit sa anim na character, magsimula sa isang titik at hindi naglalaman ng mga espesyal na character, underscore at espasyo, halimbawa pagsusulit o rp34. Sa field SID magpasok ng natatanging database ID. Gawin itong pareho sa pangalan ng DB. I-click Susunod.

7. Bintana Database Configuration Assistant—Mga Opsyon sa Pamamahala. Lagyan ng tsek ang kahon I-configure ang Enterprise Manager (EM) Database Express. Sa field EM Database ExpressPort ipasok ang numero ng port (ang default na numero ng port ay 5500 - iwanan ito). I-click Susunod.

8. Bintana Database Configuration Assistant - Database Credential. Magtakda ng mga password para sa mga user ng system (sa halimbawang ito, ang parehong password ay itinakda para sa lahat ng mga user ng system, hindi kinakailangan na gawin ito sa isang pang-industriyang database). Suriin Gamitin ang Parehong Administratibong Password para sa Lahat Mga account, Ilagay ang password. Ipasok ang password para sa Password ng User ng Oracle Home– ang may-ari ng Oracle Home, sa ngalan kung saan inilunsad ang mga serbisyo ng Oracle (ang user na ito na iyong nilikha o tinukoy kung kailan pag-install ng Oracle-). I-click Susunod.

9. Bintana Database Configuration Assistant—Network Configuration. Pumili ng proseso ng tagapakinig o gumawa ng bago. I-click Susunod.

10. Bintana Database Configuration Assistant - Mga Lokasyon ng Storage. Tukuyin ang mekanismo ng imbakan para sa mga file ng database (sa halimbawang ito, tinukoy ang file system). Pumili fileSistema. Tukuyin ang lokasyon ng mga base file (sa halimbawang ito, ang mga default na landas ang gagamitin). Suriin gamitindatabasefileMga lokasyonmula saTemplate.

Tukuyin ang mga opsyon sa pagbawi ng database (sa halimbawang ito, hindi ginagamit ang mga opsyon sa pagbawi). Lagyan ng tsek ang kahon TukuyinMabilisPagbawilugar. Ito ang default na folder kung saan naka-back up ang RMAN at naka-imbak ang mga naka-archive na kopya ng mga redo log file. Bilang default, ang folder ay matatagpuan sa (ORACLE_BASE)\fast_recovery_area. Sa field MabilisPagbawilugar maaari mong baguhin ang landas na ito at tahasang itakda ang folder para sa Magreserba ng kopya. Sa parameter MabilisPagbawilugar laki ang isang limitasyon ay nakatakda sa laki ng folder na ito (mas mahusay na gawin itong katumbas ng dami ng kabuuan hard drive). Parameter paganahinPag-archive Ino-on ang mode para sa pag-archive ng mga log file. Kung pinindot mo ang pindutan I-editArchivemodeMga Parameter pagkatapos ay maaari mong baguhin ang pattern para sa mga pangalan ng archive ng log file, pati na rin ang mga karagdagang path para sa multiplexing archive na mga kopya. Iwanan ang lahat bilang default.

PANSIN: Para sa pang-industriyang base, kinakailangan upang paganahin ang mode ng pag-archive ng mga file ng log. Gayunpaman, kapag naabot na ang limitasyon ng folder ng Fast Recovery Area (iyon ay, kapag puno na), titigil ang database at maghihintay ng libreng espasyo. Samakatuwid, kung hindi mo masubaybayan ang pagpuno ng folder na ito - HUWAG i-on ang mode ng pag-archive ng mga file ng log, i.e. huwag lagyan ng tsek ang kahon paganahinPag-archive.

I-click Susunod.

11. Bintana Database Configuration Assistant - Mga Opsyon sa Database. Piliin ang mga kinakailangang base na bahagi. I-click Susunod.

12. Bintana. Bookmark Alaala. Itakda ang paraan ng paglalaan at laki ng memorya. Pumili Karaniwan. Sa field Porsiyento itakda ang dami pisikal na memorya, na ilalaan sa Oracle. Kadalasan ito 70-80% . Kung tumatakbo sa server ang iba pang prosesong masinsinang mapagkukunan, bukod sa Oracle, pumili ng numerong mas mababa sa 70% .

13. I-click ang button ... Window Lahat ng Mga Parameter ng Initialization. Iwasto ang mga halaga (field halaga) ang mga sumusunod na parameter:

Mga kinakailangang parameter (kinakailangang baguhin!).

; Para sa isang malaking bilang ng mga aktibong user (higit sa 70-80).

; Bilangin ang mga TUNAY NA USER,

; hindi ang bilang ng mga computer sa network.

; Kung may mas mababa sa 70-80 user, huwag hawakan ang mga parameter na ito.

; Kung mayroong higit sa 100-200 mga gumagamit, marahil ay mas mahusay

; gamitin ang Shared Server Mode.

mga proseso = bilang ng mga gumagamit*2

session = 1.1*mga proseso +5

I-click malapit na. Bintana Database Configuration Assistant - Mga Parameter ng Initialization.

14. Bintana Database Configuration Assistant - Mga Parameter ng Initialization. Bookmark Pagsusukat. Piliin ang laki ng bloke ng database. Ang laki ng bloke ng database ay dapat na hindi bababa sa 8Kb. Kung ang server ay may magandang disk subsystem ( SCSI mga disc o RAID) ay maaaring pumili 16Kb at mas mataas (laki ng block sa ibabaw 8Kb makatuwiran lamang para sa malalaking base). Sa field laki ng bloke ipasok ang nais na halaga ( 8192 o 16384 ).

15. Bintana Database Configuration Assistant - Mga Parameter ng Initialization. Bookmark karakterMga set. Piliin ang encoding para sa database. Ang pag-encode ay dapat CL8MSWIN1251. Pinili bilang default gamitin ang default. Kung tinukoy ang tamang pag-encode, walang kailangang baguhin. Kung hindi tama ang tinukoy na encoding. Sa kasong ito, pumili Pumili mula sa listahan ng mga set ng character at piliin ang tamang encoding mula sa listahan CL8MSWIN1251. Sa field Defaultwika piliin ang halaga mula sa drop-down na listahan Ruso»at sa susunod na field Default na Teritoryo- ibig sabihin" Russia».

14. Bintana Database Configuration Assistant - Mga Parameter ng Initialization. Bookmark mode ng koneksyon. Pumili Ilaan ang Server Mode. I-click Susunod.

15. Bintana Database Configuration Assistant - Pagpipilian sa Paglikha. Pumili Lumikha ng Database. I-click Susunod.

16. Bintana Database Configuration Assistant—Buod. Suriin kung tama ang mga setting. I-click OK.

17. Bintana Database Configuration Assistant - Pahina ng Pag-unlad. Ang proseso ng paglikha ng database ay isinasagawa. Maghintay para sa pagkumpleto.

18. Bintana Assistant sa Pag-configure ng Database. Nakumpleto ang paggawa ng database. Gumawa ng tala ng Web address para sa Database Control. I-click malapit na.

19. Nagawa na ang database at tumatakbo na. Upang kumonekta sa isang database mula sa iba pang mga ORACLE_HOME, kailangan mong mag-set up ng isang Oracle network environment para sa kanila.

20. Pagkatapos lumikha ng database, maaari mong baguhin ang ilang mga setting para sa database. Upang gawin ito, kailangan mong magsagawa ng ilang sql command sa sqlplus (o TOAD) sa ilalim ng SYS at i-restart ang database.

Patakbuhin ang sqlplus /nolog.

C:\> sqlplus /nolog

kumonekta sa database bilang user sys bilang sysdba

SQL> conn sys/sys bilang sysdba

huwag paganahin ang paggamit ng recycle bin sa db

SQL> baguhin ang set ng system recyclebin=off scope=spfile;

huwag paganahin ang sensitivity ng kaso ng password

SQL> baguhin ang set ng system sec_case_sensitive_logon=FALSE scope=pareho;

ayusin ang isyu sa ORA-29471: DBMS_SQL access tinanggihan

SQL> baguhin ang set ng system na "_dbms_sql_security_level"=384 scope=spfile;

(opsyonal) na huwag baguhin ang password para sa mga user tuwing 60 araw

sa halip na walang limitasyon, maaari mong ilagay ang numero = bilang ng mga araw

SQL> baguhin ang profile DEFAULT limitasyon password_life_time na walang limitasyon;

I-restart ang DB

SQL> shutdown agad

SQL> Magsimula

21. Ang mga lumang bersyon ng mga kliyente 8, 9, 10, 11 ay hindi makakonekta sa Oracle 12c na may mga error:

ORA-28040: Walang tumutugmang protocol ng pagpapatunay - para sa mga form 6i

ORA-01031: hindi sapat na mga pribilehiyo - para sa 11g client

Upang malutas ang problema, kailangan mong idagdag sa sqlnet.ora sa server

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

22. Ang ilang mga kliyente ng oracle 10 at 11 ay nag-crash sa ORA-01031: hindi sapat na mga pribilehiyo kapag sinusubukang i-execute

PILIIN u.NAME
MULA sa sys. USER$u
Saan ka. TYPE# = 1
ORDER NG 1

Simula 12c, ang pribilehiyong PUMILI NG ANUMANG DICTIONARY ay hindi na nagpapahintulot ng access sa mga talahanayan ng diksyunaryo ng sensitibong data sa seguridad DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$, at XS$VERIFIERS. Pinapataas ng pagbabagong ito ang default na seguridad ng database sa pamamagitan ng hindi pagpapahintulot ng access sa isang subset ng mga talahanayan ng diksyunaryo ng data sa pamamagitan ng pribilehiyong PUMILI NG ANUMANG DICTIONARY.

Detour maniobra:

BIGYAN NG PAGPILI SA sys. USER$ SA PUBLIKO;

Ang paglikha ng isang database ng Oracle nang manu-mano ay nagsasangkot ng ilang mga hakbang. Ang ilan sa kanila ay umaasa sa operating system. Halimbawa, sa isang kapaligiran sa Windows, bago lumikha ng isang database, kailangan mo munang patakbuhin ang programa ng oracle na ginamit upang lumikha ng serbisyo ng database. Mga hakbang upang lumikha ng isang database nang manu-mano:

  1. Sumulat ng script ng paglikha ng database. Ang isang halimbawa ng ganitong sitwasyon ay ibinigay sa hakbang 6.
  2. Lumikha ng istraktura ng direktoryo na magho-host ng bagong database. Sundin ang mga tagubilin para sa paglikha ng pinakamainam na nababaluktot na arkitektura.
  3. Baguhin ang kasalukuyang sample init.ora file na pinananatili ng Oracle upang ipakita ang mga setting para sa bagong database.
  4. Ilarawan ang pangalan ng SID para sa Oracle. Sa platform ng Windows, sa prompt ng operating system, ipasok ang: itakda ang ORACLE_SID = mydb

    Sa UNIX, ipasok ang:

    I-export ang ORACLE_SID = mydb

  1. Magtatag ng koneksyon sa database sa pamamagitan ng SQL* Plus bilang SYSTEM / MANAGER bilang sysdba o paano / bilang sysdba at ipasok ang sumusunod na command upang simulan ang database sa nomount mode: startup nomount pfile= D:/oracleadmin/mydbscripts/initMYDB.ora; Palitan ang iyong mga parameter ng pagsisimula sa halip ng mga halaga ng parameter ng pfile na ibinigay dito.
  2. Pagkatapos simulan ang database, gamitin ang script na iyong isinulat upang lumikha ng Oracle database. Narito ang isang sample: gumawa ng database MYNEW maxinstances 1 maxloghistory 1 maxlogfiles 5 maxlogmembers 5 maxdatafiles 100 datafile d:/oracle/oradata/mydb/system01.dbf size 325M muling gamitin ang autoextend sa susunod na 10240K maxsize na character1 set ng00000000000(d :/oracle/oradata/mydb/edo01.log) laki 100M, pangkat 2 (d:/oracle/oradata/mydb/edo02.log) laki 100M, pangkat 3 (d:/oracle/oradata/mydb/edo03. tala ;
  • Pagkatapos gumawa ng database, patakbuhin ang catalog.sql , catproc.sql , catexp.sql script, at anumang bagong script na kailangan upang suportahan ang mga produktong na-install mo. Sa isang UNIX system, ang mga script ay matatagpuan sa $ORACLE_HOME\rdbms\admin directory, at sa isang Windows environment, sa $ORACLE_HOME/rdbms/admin . Suriin ang mga script bago mo patakbuhin ang mga ito, dahil maraming mga script ng catalog ang tumatawag sa iba pang mga script.
  • Para sa karagdagang seguridad, maglagay ng hindi bababa sa ilang iba pang mga password para sa SYS at SYSTEM , sa halip na iwanan ang default na MANAGER at CHANGE_ON_INSTALL na password. Ang sample na script sa hakbang 6 ay lumilikha ng isang UNDO tablespace. Ang mga pagpipilian sa pagsisimula para dito ay: undo_management=AUTO undo_tablespce=UNDOTBS Ang tanging opsyon na hindi mo mababago pagkatapos malikha ang database ay ang laki ng bloke ng database, na inilarawan mo sa init.ora file bago ito nilikha. Ang DB_BLOCK_SIZE parameter ay ginagamit upang itakda ang halagang ito. Halimbawa, itinatakda ng sumusunod na linya ang default na laki ng bloke ng database sa 8 KB. DB_BL0CK_SIZE=8k Upang makita ang mga parameter na may bisa sa iyong database, humiling ng dynamic na paghahanap ng V$PARAMETER: piliin ang Pangalan, Halaga, IsDefault mula sa V$PARAMETER;

Lab #1

Oracle Database 11g Express Edition database. Pagdidisenyo ng mga query sa SQL

Layunin

Pag-aaral sa user interface (DB) ng Oracle Database 11g Express Edition at pagbuo ng mga query sa SQL.

Mga gawain

Paglikha ng koneksyon sa database sa Oracle Database 11g Express Edition. Paggalugad ng mga object ng HR schema at pag-compile ng modelo ng data. Pagdidisenyo ng mga query sa SQL upang pumili ng data sa mga mode ng Query Editor at Query Builder.


Teoretikal na bahagi

3.1. Pangkalahatang Impormasyon tungkol sa DB

Ang Oracle Database 11g Express Edition (Oracle Database XE) ay isang libreng (libre) na bersyon ng pinakamakapangyarihang relational database sa mundo. Ito ay perpekto para sa pag-install sa institusyong pang-edukasyon para sa layunin ng pagtuturo sa mga mag-aaral makabagong pamamaraan nagtatrabaho sa Oracle relational database at pagbuo ng mga application para sa pagpapakita ng data ng user at pagmamanipula ng data.

Ang Oracle Database XE ay madaling i-install at madaling pamahalaan. Maaari kang mag-download ng mga file sa pag-install para sa iba't ibang platform sa opisyal na website ng Oracle http://www. /technetwork/database/database-technologies/express-edition/downloads/index. html.

Maaaring i-install ang Oracle Database XE sa isang computer (host machine) na may anumang bilang ng mga processor (isang database bawat computer), ngunit ang Oracle Database XE ay mag-iimbak lamang ng hanggang 11 GB ng data ng user, gagamit ng hanggang 1 GB ng memorya, at gagamit isang processor lamang bawat host -kotse.

Ang Oracle Database 11g Express Edition ay isang relational database na nag-iimbak at kumukuha ng mga koleksyon ng mga nauugnay na impormasyon. Sa isang relational database, ang mga bagay na imbakan ng impormasyon ay isinaayos sa mga istruktura na tinatawag na mga talahanayan. Ang bawat talahanayan ay naglalaman ng mga row (record) na binubuo ng mga column (fields). Ang mga talahanayan ay nakaimbak sa database sa mga istrukturang tinatawag na mga schemas. Ang mga schema ay mga lohikal na istruktura ng data kung saan iniimbak ng mga user ng database ang kanilang mga talahanayan at iba pang mga bagay.


Ang Oracle Database XE ay ina-access gamit ang home page ng database, na mayroong intuitive na graphical na interface. Ang pag-access sa home page ay isinaayos batay sa isang serbisyo sa web. Ang home page ay nagbibigay sa gumagamit ng mga web tool para sa pangangasiwa ng database, paglikha ng mga talahanayan, view at iba pang mga schema object, pag-import, pag-export, pagtingin, pag-edit ng data ng talahanayan. Binibigyang-daan ka ng mga tool na ito na magpatakbo ng mga SQL query at SQL script, gumawa at mag-debug ng mga PL/SQL program, bumuo ng mga database application, at bumuo ng mga ulat.

Ang Oracle Database XE ay naglalaman ng naka-embed na HR (Human Resource) schema, na isang halimbawa ng naka-link na table schema. Ang HR schema ay may mga talahanayan upang mag-imbak ng kathang-isip na impormasyon tungkol sa mga empleyado at mga departamento. Ang mga talahanayan ay naglalaman ng mga karaniwang column na nagbibigay-daan sa data mula sa isang talahanayan na maiugnay sa data mula sa iba pang mga talahanayan. Ang HR schema ay pagmamay-ari ng isang user na pinangalanang HR.

3.2. Pag-access sa Oracle Database XE

Ina-access ng mga user ang Oracle Database 11g Express Edition sa pamamagitan ng account gumagamit ng database. Kapag nag-i-install ng database, awtomatikong nalilikha ang SYS at SYSTEM user account - ito ang mga user na may mga pribilehiyo sa pangangasiwa ng database. Awtomatikong nagagawa rin ang isang HR user account na walang mga pribilehiyong pang-administratibo.

Gayunpaman, para sa mga kadahilanang pangseguridad, ang HR user account ay na-lock out. Dapat mong i-unlock ang account na ito bago ka makapagsimulang magtrabaho sa mga object ng HR schema. Maaari mong gamitin ang SQL*Plus command line para gawin ito.


Upang i-unlock ang isang user account gamit ang command line SQL*Plus, kailangan mo ng:

Start button -> All Programs -> Oracle Database 11g Express Edition -> Run SQL Command Line. Kumonekta bilang gumagamit ng SYSTEM:

    I-type kumonekta Maglagay ng pangalan na kumonekta sa: SYSTEM Magpasok ng password:<пароль-для-SYSTEM >
Pagkatapos ng matagumpay na koneksyon (nakakonekta ang mensahe), ilagay ang sumusunod na SQL statement:

SQL> ALTER USER HR ACCOUNT UNLOCK;

Ipasok ang password para sa HR ng gumagamit gamit ang sumusunod na SQL statement:

SQL> ALTER USER HR NA KILALA NG HR;

Upang lumabas sa editor, ilagay ang SQL statement:

Ang window ng SQL*Plus Command Line Editor ay ipinapakita sa Figure 1. 1.1.

kanin. 1.1. Window ng SQL*Plus Command Line Editor

Ang pagkonekta sa isang database ng Oracle Database XE ay sa pamamagitan ng Home Page, isang web interface na nakabatay sa browser para sa pagsasagawa ng iba't ibang mga operasyon ng pangangasiwa ng database, kabilang ang mga sumusunod:

    Pagsubaybay sa base ng imbakan (Storage); Pagsubaybay sa mga sesyon ng database (Mga Sesyon); Tingnan ang mga parameter ng pagsisimula ng database (Mga Parameter); Pagsisimula sa Oracle Application Express (Application Express).

Access sa home page: Start button -> All Programs -> Oracle Database 11g Express Edition -> Magsimula.

Lumilitaw ang home page ng Oracle Database XE sa window ng web browser (Figure 1.2).

kanin. 1.2. Oracle Database XE Home Page

I-click ang button na Application Express. Kapag sinenyasan para sa impormasyon sa pag-login, ilagay ang: username - SYSTEM, password -<пароль-для-SYSTEM >, tulad ng sa SQL*Plus command line editor. I-click ang pindutan ng Pag-login (Larawan 1.3).


kanin. 1.3. Pagkonekta ng User gamit ang Database Administrator Role sa Oracle Database XE

Ang susunod na hakbang ay gumawa ng Oracle Application Express workspace para sa HR user. Ang workspace na ito ay maglalaman ng lahat ng mga database application na pinapayagan ng HR user na magtrabaho. Ang form ng paglikha ng workspace ay ipinapakita sa fig. 1.4.

kanin. 1.4. Paggawa ng Oracle Application Express Workspace

Ang Application Express Username ay ang pangalan ng workspace. Maaari mong gamitin ang alinman sa isang username (HR) o anumang iba pa (halimbawa, hr_apex). Kumpirmahin ang password. I-click ang Lumikha ng Workspace. Sa susunod na pahina, i-click ang Mag-click dito upang makapasok sa workspace. Sa unang pagkakataong susubukan mong i-access ang workspace, ipo-prompt kang i-reset ang password para sa workspace (maaari mong gamitin ang parehong password o ibang password).

Isang beses lang kailangang gawin ang paggawa ng Oracle Application Express workspace. Para sa mga susunod na koneksyon sa database, gamitin ang Mayroon nang account? Mag-login dito. Upang makapasok sa workspace, isang form para sa Oracle Application Express ay ipapakita, fig. 1.5.

Upang laktawan ang mga hakbang ng awtorisasyon ng gumagamit ng SYSTEM at lumipat sa form fig. 1.5, kopyahin at i-save ang URL ng form na ito (halimbawa, http://127.0.0.1:8080/apex/f?p=4550:1:494885012264286) at gamitin ito sa isang web browser upang direktang magsimulang magtrabaho kasama ang pahintulot anyo.


Pagkatapos mag-log in sa workspace ng Oracle Application Express, bubukas ang home page, kung saan matatagpuan ang mga pangunahing kontrol - Application Builder, SQL Workshop, Team Development, Mga icon ng Administration (Fig. 1.6).

Larawan 1.6. Mga Control na Icon ng Home Page ng Oracle Application Express Workspace

Ang pag-click sa larawan ng icon ay nagdudulot ng paglipat sa isang bagong pahina na may mga icon ng mga pinapayagang operasyon. Ang pag-click sa icon ng SQL Workshop ay nagbibigay-daan sa iyo upang ma-access ang mga tool para sa paggalugad ng mga object ng database (Object Browser, Utiltes) at pagtatrabaho sa Mga query sa SQL Mga Utos, Mga SQL Script, Tagabuo ng Query (Larawan 1.7).

kanin. 1.7. Mga tool para sa paggalugad ng mga bagay sa database at pagtatrabaho sa mga query sa SQL

3.3. Pag-access ng data gamit ang SQL

Ang SQL ay isang non-procedural na wika para sa pag-access sa database. Ang mga SQL statement ay idinisenyo upang magsagawa ng iba't ibang mga gawain, tulad ng pagkuha ng data mula sa mga talahanayan sa Oracle Database XE. Ang lahat ng mga operasyon sa database ay isinasagawa gamit ang mga SQL statement. Maaari mong gawin ang mga sumusunod na operasyon gamit ang mga SQL statement:

    pagtatanong, pagpasok at pag-update ng data sa mga talahanayan; pag-format ng data, pagsasagawa ng mga kalkulasyon batay sa data, pag-iimbak at pag-print ng mga resulta ng query; pag-aaral ng istraktura ng mga talahanayan at pagtukoy ng mga bagay sa database.

Paggawa ng Mga Query sa Pagkuha ng Data

SELECT statement syntax para sa pagpili ng lahat ng talaan ng talahanayan


Maaari kang tumukoy ng alias pagkatapos ng pangalan ng column sa piling listahan, gamit ang espasyo bilang delimiter. Kung ang alyas ay naglalaman ng mga puwang o mga espesyal na character gaya ng number sign # o ang dollar sign $, o kung case sensitive, ilakip ang alias sa mga panipi na "". Halimbawa:

SELECT employee_id "Employee ID number",

last_name "Apelyido ng empleyado",

first_name "Employee first name"

Limitasyon sa pag-sample ng row

Maaari mong limitahan ang bilang ng mga row na nakuha mula sa database gamit ang WHERE clause sa SQL statement. Sa pamamagitan ng pagdaragdag ng sugnay na WHERE, maaari kang tumukoy ng kundisyon na dapat matugunan, at ang mga row lang na tumutugma sa kundisyon ang ibabalik.

Kapag ginagamit ang sugnay na WHERE:

    ang sugnay na WHERE ay agad na sumusunod sa sugnay na MULA sa SQL statement syntax; ang sugnay na WHERE ay binubuo ng keyword na WHERE at isang kundisyon (o maraming kundisyon); ang kundisyon ng sugnay na WHERE ay tumutukoy sa paghahambing ng mga halaga na naglilimita sa bilang ng mga hilera na ibinalik ng query.

Pinagsasama-sama ang mga talahanayan

Minsan ito ay nagiging kinakailangan upang ipakita ang data mula sa ilang mga talahanayan. Upang gawin ito, ang FROM clause ng SELECT statement ay tumutukoy sa isang listahan ng mga pangalan ng talahanayan kung saan kukuha ng data. Kung ang impormasyon ay nagmula sa higit sa isang talahanayan, ang mga talahanayan ay pinagsama.


Halimbawa, sa EMPLOYEES table, ang DEPARTMENT_ID column ay kumakatawan sa numero ng departamento ng empleyado. Ang talahanayan ng DEPARTMENTS ay may column na DEPARTMENT_ID pati na rin isang column na DEPARTMENT_NAME. Maaari mong pagsamahin ang data mula sa mga talahanayan ng EMPLOYEES at DEPARTMENTS gamit ang column na DEPARTMENT_ID at bumuo ng ulat na magpapakita ng mga pangalan ng empleyado at pangalan ng departamento.

Ang panloob na talahanayan ay sumali

Ang inner join ay nagsasama ng mga column ng mga kaugnay na talahanayan batay sa isang karaniwang field o kumbinasyon ng mga karaniwang field. Sa pagsali na ito, hindi kasama sa set ng resulta ang mga row mula sa alinman sa mga talahanayan na walang tugma sa isa pang talahanayan. Sa panloob na mga pagsasama, ang kondisyon ng pagsasama ay dapat na mahigpit na sundin.

natural na unyon

Ang natural na pagsali ay nagbibigay-daan sa iyo na magpakita ng data mula sa dalawang talahanayan kapag ang isang halaga sa isang column sa isang talahanayan ay direktang tumutugma sa isang halaga sa isa pang column sa pangalawang talahanayan. Kung ang dalawang talahanayan ay may kasamang isa o higit pang mga column na may parehong mga pangalan at uri ng data, ang natural na pagsasama ay nagbabalik ng lahat ng mga hilera mula sa dalawang talahanayan na may parehong mga halaga sa lahat ng magkatugmang mga column. Kadalasan ang ganitong uri ng pagsali ay may kasamang pangunahing key at foreign key na mga column.

Syntax

Halimbawa:

PUMILI ng employee_id, last_name, first_name, department_id,

department_name, manager_id

MULA sa mga empleyado NATURAL SUMALI sa mga departamento

Pagsasama ng dalawang talahanayan gamit ang USING statement

Ang USING statement ay nagbibigay-daan sa iyo na tukuyin ang mga column na gagamitin upang pagsamahin sa pagitan ng dalawang table. Ang mga pangalan ng column ay dapat na pareho para sa parehong mga talahanayan at dapat ay magkatugma ang mga uri ng data. Gamitin ang USING statement kung ang iyong mga talahanayan ay naglalaman ng higit sa isang column na ang mga pangalan ay tumutugma at kailangan mong malinaw na tukuyin ang pangalan ng column kung saan mo gustong sumali sa mga talahanayan.


Syntax


Pagsamahin ang mga talahanayan na may pagkakakilanlan ng hanay. SA pahayag

Ang pahayag na ON ay ginagamit upang tukuyin ang isang kondisyon ng pagsali para sa dalawang talahanayan o isang kundisyon ng pagsali sa sarili para sa isang talahanayan. Binibigyang-daan ka ng pahayag na ON na magsulat ng kundisyon ng pagsali para sa iba't ibang pangalan ng column, ngunit dapat tumugma ang mga uri ng data ng mga column na ito.

Syntax

MULA sa mga empleyado SUMALI sa job_history

Paglalapat ng Karagdagang Kondisyon sa Pagsali

Kadalasang kinakailangan na pagsamahin ang data mula sa dalawang talahanayan upang ang ilang karagdagang kundisyon ay matugunan. Halimbawa, sabihin nating gusto mong ipakita ang resulta ng pagsali sa mga talahanayan ng EMPLOYEES at DEPARTMENTS para lang sa empleyado na ang ID ay 149. Upang magdagdag ng higit pang kundisyon sa operator ng ON, maaari kang magdagdag ng operator ng AND. Maaari mo ring gamitin ang sugnay na WHERE upang maglapat ng mga karagdagang kundisyon upang paunang piliin ang mga hilera ng talahanayan.

Gamit ang AND operator

at e. manager_id = 149

Gamit ang sugnay na WHERE

PUMILI e. empleyado_id e. apelyido e. department_id,


d. department_id, d. location_id

MULA sa mga empleyado e SUMALI sa mga departamento d

NAKA-ON (e.department_id = d.department_id)

SAAN e. manager_id = 149

Mga alyas sa talahanayan

Ipinapakita ng mga halimbawa kung paano ginagamit ang mga alias upang matukoy ang mga pangalan ng talahanayan. Sa sugnay na FROM, lumilitaw ang pagdadaglat pagkatapos ng pangalan ng talahanayan. Ang pinaikling pangalan na ito ay tinatawag na alias. Kapag nalikha na ang isang alias sa sugnay na FROM, maaari itong magamit sa anumang bahagi ng sugnay na SELECT.

Pagsali sa Maramihang Talahanayan

Ang pagsali sa maramihang mga talahanayan ay ginagamit kapag ang kinakailangang impormasyon ay kumalat sa higit sa dalawang talahanayan. Ang isang halimbawa ay isang three-way na pagsali - pagsali sa tatlong talahanayan. Ipagpalagay na ito ay kinakailangan upang mahanap ang mga empleyado, ang kanilang mga subordinates at ang mga pangalan ng mga departamento para sa mga empleyado. Nangangailangan ito ng access sa tatlong talahanayan: - EMPLEYADO, DEPENDENTE at DEPARTMENTS. Posibleng sumali sa maraming talahanayan kung kinakailangan upang makakuha ng magkakaugnay na impormasyon.

Syntax

Ang sugnay na FROM ay dapat tukuyin ang mga talahanayan na isasama.

Halimbawa

PUMILI e. apelyido, d. unang_pangalan, w. department_name
MULA sa mga empleyado e

SUMALI sa mga umaasa d

NAKA-ON d. relative_id = e. employee_id

SUMALI sa mga departamento w

SA w. department_id = e. department_id

Self join tables

Ang pahayag na ON ay maaari ding gamitin upang sumali sa mga column na may iba't ibang pangalan (sa parehong talahanayan o sa ibang talahanayan). Kung ang mga hanay ng iba't ibang pangalan na isasali ay matatagpuan sa parehong talahanayan, kung gayon ang mga talahanayan ay self-joining. Halimbawa, maaari kang sumali sa talahanayan ng EMPLOYEES batay sa mga column na EMPLOYEE_ID at MANAGER_ID.

Panlabas na pagdugtong ng mga mesa

Pinagsasama rin ng panlabas na pagsasama ang mga hilera ng mga nauugnay na talahanayan batay sa isang karaniwang field o kumbinasyon ng mga karaniwang field. Gayunpaman, kasama sa set ng resulta ang mga row mula sa isa sa mga talahanayan kahit na wala silang tugma sa isa pang talahanayan. Sa mga panlabas na pagsasama, ang kondisyon ng pagsasama ay hindi mahigpit na sinusunod. Ang isa sa mga talahanayan ay ipinag-uutos - ang set ng resulta ay maglalaman ng lahat ng mga hilera nito.

Syntax

Ang LEFT ay isang kaliwang panlabas na pagsali. Tinutukoy na ang table1 ay isang kinakailangang talahanayan (ang set ng resulta ay maglalaman ng lahat ng mga row nito) at ang table2 ay opsyonal. Para sa mga row sa table1 na hindi tumutugma sa table2, NULL ay ibinalik.

Ang RIGHT ay isang right outer join. Mandatory table table2, table1 optional.

Ang FULL ay isang buong panlabas na pagsali. Ito ay isang bidirectional outer join. Kasama sa resultang set ang:

    lahat ng mga hilera ng panloob na talahanayan ay nagsasama; mga hilera sa table1 na hindi tumutugma sa table2; mga hilera sa table2 na hindi tumutugma sa table1.

Ang OUTER ay isang opsyonal na keyword. Isinasaad na ang isang panlabas na pagsasama ay isinasagawa.

PUMILI ng mga empleyado.*, job_history.*

MULA sa mga empleyado INIWAN SUMALI sa job_history
SA mga empleyado. hire_date = job_history. start_date


Mga operasyon ng grupo

Ang mga pagpapatakbo ng grupo ay nagpoproseso ng maraming row at nagbabalik ng isang pangkalahatang resulta. Sa katunayan, pinapayagan ka nitong pagsamahin sa isang anyo o iba pang katulad na mga item ng impormasyon na ibinalik mula sa database. Para magsagawa ng mga pagpapatakbo ng grupo, nagbibigay ang Oracle ng mga generic na function at mga tagubilin sa pagpapangkat (GROUP BY, HAVING, at iba pa).

Ang syntax ng karamihan sa mga generic na function ay:

generic_function( expression)

Generalizing_function - tumutukoy sa pangalan ng generalizing function: COUNT (count), AVG (average value), MAX (maximum value), MIN (minimum value), STDDEV (standard standard deviation), SUM (sum), VARIANCE (statistical).

DISTINCT - nagpapahiwatig na ang generalization function ay dapat isaalang-alang lamang ang mga hindi umuulit na halaga ng expression.

ALL - ay nagpapahiwatig na ang generalizing function ay dapat isaalang-alang ang lahat ng mga halaga ng expression, kabilang ang mga duplicate. Ang default ay gamitin ang LAHAT.

Expression - Tinutukoy ang column o anumang iba pang expression kung saan ibubuod.

Ang mga NULL na halaga para sa pagpapahayag ng mga generic na function ay hindi pinapansin at hindi kasama sa resulta.

Piliin ang MAX(suweldo) mula sa Mga Empleyado - Hanapin ang pinakamataas na halaga para sa hanay ng suweldo sa buong talahanayan ng MGA EMPLOYEES.

Piliin ang bilang(*) mula sa Mga Rehiyon - Kinakalkula ang bilang ng mga tala sa talahanayan ng MGA REHIYON.

GROUP BY statement

Ginagamit kasabay ng mga function ng buod, hinahati ang resulta na itinakda sa maraming grupo, at pagkatapos ay ibinabalik ang isang linya ng impormasyon ng buod para sa bawat pangkat. Kung may pinaghalong generic at non-generics sa SELECT list, isinasaalang-alang ng SQL ang isang Group by operation na isasagawa, kaya ang anumang non-generic na expression ay dapat ding tukuyin sa Group by clause. Kung hindi ito nagawa, maglalabas ang Oracle ng mensahe ng error.


Hindi pinapayagang gumamit ng pangkat (generalize) na function sa isang GROUP BY clause.

Kapag pinapangkat ayon sa isang column na naglalaman ng NULL values ​​sa ilang row, lahat ng row na may NULL values ​​ay inilalagay sa isang grupo at ipinakita sa output bilang isang summary row.

Upang makakuha ng mga resulta ng buod gamit ang sugnay na GROUP BY, posibleng i-filter ang mga talaan ng talahanayan gamit ang sugnay na WHERE. Kapag nagpapatupad ng SQL statement na naglalaman ng mga sugnay na WHERE at GROUP BY, unang inilalapat ng Oracle ang sugnay na WHERE at inalis ang mga hilera na hindi nakakatugon sa sugnay na WHERE. Ang mga hilera na nakakatugon sa sugnay na WHERE ay pinagsama-sama ayon sa sugnay na GROUP BY. Ang SQL syntax ay nangangailangan ng WHERE clause upang mauna ang GROUP BY clause.

MAY pagtuturo

Ginagamit upang maglapat ng filter sa mga pangkat na ginawa ng sugnay na GROUP BY. Kung ang query ay naglalaman ng GROUP BY at HAVING, ang resulta set ay maglalaman lamang ng mga pangkat na tumutugon sa kundisyong tinukoy sa HAVING na pahayag. Ang syntax para sa HAVING clause ay katulad ng syntax para sa WHERE clause. Ngunit mayroong isang limitasyon para sa HAVING na pahayag. Ang kundisyong ito (tinukoy sa HAVING clause) ay maaari lamang ilapat sa SELECT list expression o ang GROUP BY clause. Kung ang HAVING ay naglalaman ng isang bagay na wala sa SELECT o GROUP BY, isang mensahe ng error ang ibibigay.

Ang pagkakasunud-sunod ng GROUP BY at HAVING na mga pahayag sa SELECT statement ay hindi mahalaga.

Maaari mong gamitin ang mga pahayag na WHERE at HAVING sa parehong query. Mahalagang maunawaan kung paano nakakaapekto ang isang pagtuturo sa isa pa. Ang sugnay na WHERE ay unang naisakatuparan, at ang mga hilera na nakakatugon sa sugnay na WHERE ay ipinapasa sa sugnay na GROUP BY. Ang sugnay na GROUP BY ay nagko-collapse ng na-filter na data sa mga pangkat, at pagkatapos ay ang HAVING clause ay inilalapat sa mga pangkat upang alisin ang mga pangkat na hindi nakakatugon sa HAVING clause.


Syntax para sa mga query na may generalization function at pagpapangkat

3.4. Mga tool para sa paglikha at pagpapatupad ng mga query sa SQL

Sa Oracle Database XE, maaari kang magsulat at magsagawa ng mga SQL statement gamit ang SQL tool Commands (SQL query editor), o maaari mong gamitin ang Query Builder tool (query designer) upang bumuo ng mga query na may graphical na interface (Fig. 1.7).

Paglulunsad ng SQL Query Editor: Mag-click sa icon ng SQL Commands.

Pagpasok at pag-execute ng SQL query: sa pahina ng SQL Commands, magsulat ng mga query text -> piliin ang query na kailangan mong isagawa -> mag-click sa Run button. Ang resulta ng pagsasagawa ng query ay nasa ibaba ng window (Fig. 1.8).

kanin. 1.8. Pagpasok at pagpapatupad ng mga query sa SQL sa pahina ng SQL Commands

Ang Oracle Database XE ay may madaling gamiting graphical na tool para sa paglikha ng mga SQL query - ang Query Builder. Paglulunsad ng Query Builder: Ang pag-click sa icon ng Query Builder (Fig. 1.7) o sa parehong item sa drop-down list ng SQL Workshop -> bubukas ang isang pahina ng browser na may form ng Query Builder. Sa kaliwang panel ay isang listahan ng mga available na talahanayan. Ang pag-click sa pangalan ng talahanayan -> form ng talahanayan na may listahan ng mga available na column ay inilalagay sa kanang panel sa itaas. Sa anyo ng talahanayan, markahan ang mga column kung saan dapat isama ang data sa resultang set (Fig. 1.9).


kanin. 1.9. Pagbuo ng mga query sa SQL sa page ng Query Builder

Ang mga tab sa ibabang kanang panel ay:

Kundisyon - kundisyon na ipinataw sa mga hanay ng talahanayan. Binibigyang-daan kang magtakda ng mga alias ng column, magpasok ng mga kundisyon para sa pagpili ng mga row ayon sa data ng column, tukuyin ang uri at pagkakasunud-sunod ng pag-uuri, ang visibility ng resulta, ang function na inilapat sa column, ang pangangailangan para sa pagpapangkat.

SQL - ang teksto ng nabuong SQL query.

Mga Resulta - ang resulta ng pagpapatupad ng SQL query. Upang makuha ito, mag-click sa pindutan ng Run.

Nai-save na SQL - na-save na mga query sa SQL. Upang i-save ang query, mag-click sa pindutan ng I-save.

Binibigyang-daan ka ng tagabuo ng query na biswal na sumali sa mga talahanayan. Upang pagsamahin ang dalawang talahanayan, kailangan mong: pumili ng dalawang talahanayan -> markahan ang mga column para sa resulta sa kanilang mga form -> ilagay ang cursor sa ibabaw ng naka-link na column ng child table (BANSA) -> pindutin ang kanang pindutan ng mouse at i-drag ang larawan ng link na may pinindot na button sa naka-link na column ng parent table (REGIONS) ) (Fig. 1.10).

kanin. 1.10. Pagdidisenyo ng mga query sa SQL upang sumali sa mga talahanayan

Kung nag-hover ka sa larawan ng link, lalabas ang isang tooltip na may kundisyon ng link. Ang pag-click sa isang link ay magdudulot ng pop-up na menu - alisin ang link, itakda ang kaliwa o kanang panlabas na pagsali. Bilang default, tinutukoy ng isang relasyon ang isang panloob na pagsasama ng mga talahanayan.

3.5. Impormasyon tungkol sa mga bagay sa database

Iniimbak ng Oracle ang lahat ng impormasyon tungkol sa mga object sa database espesyal na diksyunaryo datos (data dictionary). Ang diksyunaryo ay naglalaman ng mga paglalarawan kung paano inayos ang totoong data. Ang isang diksyunaryo ay binubuo ng mga talahanayan at view na maaaring i-query tulad ng iba pang mga talahanayan at view sa database. Ang mga view na ito ay pagmamay-ari ng isang gumagamit ng Oracle na pinangalanang SYS. Ang mga view ng uri ng user_* ay naglalaman ng impormasyon tungkol sa mga bagay kung sino ang kasalukuyang user. Maaari mong gamitin ang mga sumusunod na view upang makakuha ng impormasyon tungkol sa mga object ng user:

    User_tables - mga relational na talahanayan na pag-aari ng kasalukuyang user; User_views - mga view na pagmamay-ari ng kasalukuyang user; User_tab_comments - mga komento para sa mga talahanayan na pagmamay-ari ng kasalukuyang user; User_tab_columns - mga column ng lahat ng table na pagmamay-ari ng kasalukuyang user; User_col_comments - mga komento para sa mga column ng mga talahanayan at view na pagmamay-ari ng kasalukuyang user; User_indexes - mga index ng mga talahanayan ng kasalukuyang user; User_cons_columns - mga column sa mga limitasyon ng kasalukuyang user; User_constraints - mga paghihigpit sa mga talahanayan ng kasalukuyang user; User_triggers - Mga trigger ng database na pagmamay-ari ng kasalukuyang user.

Ang Oracle Database XE ay may mga tool para sa paggalugad at pag-uulat sa mga object ng database.

Access sa database object exploration tool: ang Object Browser icon (Fig. 1.7) o ang kaukulang item sa SQL Workshop na drop-down list. Bilang default, ang paglipat sa listahan ng mga talahanayan ay nagaganap (isa pang uri ng mga object ng database para sa pananaliksik ay maaaring mapili mula sa drop-down na listahan). Pagkatapos, pagkatapos pumili ng isang partikular na bagay, ang mga katangian nito ay ipinapakita. Ang view ng pahina para sa pagpapakita ng mga katangian ng talahanayan ng DEPARTMENTS (tab na Talahanayan - nagpapakita ng listahan ng mga column at ang kanilang mga katangian) ay ipinapakita sa fig. 1.11.

kanin. 1.11. Display Properties ng Table: Listahan ng Mga Column

Kung pupunta ka sa tab na Modelo, makikita mo ang modelo ng data - isang visual na representasyon ng mga link ng talahanayan na pinag-aaralan kasama ng iba pang mga talahanayan ng database (Larawan 1.12).


Larawan 1.12. Pagmamapa ng Modelo ng Data: Mga Relasyon sa Talahanayan

Ang modelo ng data na ipinapakita sa figure ay nagpapakita na ang LOCATIONS at EMPLOYEES table ay ang magulang ng DEPARTMENTS table na pinag-uusapan. Ang mga ito ay ipinapakita sa modelo sa itaas ng talahanayan na pinag-aaralan. Ang talahanayan ng DEPARTMENTS mismo ay ang magulang ng mga talahanayan ng JOB_HISTORY at EMPLOYEES (na matatagpuan sa ibaba ng talahanayan ng DEPARTMENTS). Ang mga katulad na impormasyon tungkol sa mga talahanayan ng magulang (kaugnay ng pinag-aralan) ay makikita sa tab na Dependencies (listahan ng Mga Sanggunian).

Access sa mga ulat: Utiltes icon (Fig. 1.7) o ang kaukulang elemento ng SQL Workshop drop-down list -> list element (o icon) Object Reports -> list element sa pamamagitan ng parameter ng interes. Halimbawa, para sa listahan ng Mga Ulat sa Talahanayan - mga hanay, komento, paghihigpit, atbp. (Larawan 1.13).

kanin. 1.13. Mga Ulat sa Bagay

Gamit ang mga tool na ito, makakakuha ka ng medyo kumpletong impormasyon tungkol sa mga pangunahing bagay na magagamit sa database.


Mga hakbang sa seguridad

Sa runtime kailangan mo:

    sundin ang mga patakaran para sa pag-on at pag-off ng mga kagamitan sa computer; huwag ikonekta ang mga cable, konektor at iba pang kagamitan sa computer na hindi nauugnay sa pag-install ng laboratoryo; kapag naka-on ang boltahe ng mains, huwag idiskonekta, ikonekta o hawakan ang mga kable na kumukonekta iba't ibang mga aparato kompyuter; sa kaso ng isang madepektong paggawa sa pagpapatakbo ng kagamitan o paglabag sa mga patakaran, ipaalam sa pinuno ng gawaing laboratoryo; huwag subukang ayusin ang mga malfunctions sa pagpapatakbo ng kagamitan sa iyong sarili; pagkatapos ng trabaho, ayusin ang lugar ng trabaho.

PANSIN! Kapag nagtatrabaho sa isang computer, dapat mong tandaan: ang boltahe na nagbabanta sa buhay ay konektado sa bawat lugar ng trabaho. Samakatuwid, sa panahon ng operasyon, dapat kang maging lubhang maingat at sumunod sa lahat ng mga kinakailangan sa kaligtasan!

Mag-ehersisyo
Maglunsad ng internet browser, halimbawa, Google Chrome. Ilunsad ang home page ng Oracle Application Express sa http://127.0.0.1:8080/apex/ . Mag-log in sa database bilang isang HR user. Gamit ang SQL Query Editor, gumawa at magsagawa ng query para pumili ng data mula sa EMPLOYEES table gamit ang sort instruction ayon sa mga pangalan ng empleyado. Gamit ang tagabuo ng SQL query, gumawa at magsagawa ng query upang pumili ng data mula sa talahanayan ng DEPARTMENTS gamit ang pagtuturo ng pag-uuri ayon sa pangalan ng departamento. Gamit ang SQL query editor, gumawa at magsagawa ng query para pumili ng data mula sa mga kaugnay na table na DEPARTMENTS at EMPLOYEES gamit ang mga Russian column alias at pag-uuri. Dapat ibalik ng query ang mga pangalan ng lahat ng departamento, ang buong pangalan ng mga tagapamahala ng mga departamentong ito, ang kanilang mga email address /text/category/zarabotnaya_plata/" rel="bookmark">suweldo ayon sa departamento, karaniwang suweldo ayon sa departamento. Kumuha ng kumpletong impormasyon tungkol sa mga object ng database − mga talahanayan, column, hadlang, view, kasama ang lahat ng komento at uri ng data Batay sa impormasyong ito, bumuo ng modelo ng data kung saan ipapakita ang lahat ng talahanayan at relasyon sa pagitan nila.

Direksyon:

    kumuha ng pangkalahatang impormasyon tungkol sa mga ugnayan sa pagitan ng mga talahanayan gamit ang tool na Object Browser; Detalyadong impormasyon makakuha ng tungkol sa mga ugnayan sa pagitan ng mga talahanayan gamit ang isang query

piliin ang uc. table_name "Table",

uc. constraint_name "Panlabas na hadlang sa key",

ucc1.column_name "External key field",

ucc2.table_name "Spawns a table",

uc. r_constraint_name "Ogre sa RT",

ucc2.column_name "Key field sa RT"

mula sa user_constraints uc

sumali sa user_cons_columns ucc1 sa ucc1.constraint_name = uc. constraint_name

sumali sa user_cons_columns ucc2 sa ucc2.constraint_name = uc. r_constraint_name

saan uc. constraint_type="R";

    ipakita ang modelo ng data sa isang graphical na anyo gamit ang MS Word, MS Visio o ERWin Data Modeller.

Mga kinakailangan para sa nilalaman at disenyo ng ulat

Ang ulat ay dapat makumpleto sa text editor MS word. Ang ulat ay dapat maglaman ng:

    Maikling teoretikal na impormasyon, Graphical na modelo ng data, Mga teksto ng lahat ng SQL query na may mga komento sa bawat pagtuturo na ginamit sa query, Mga resultang talahanayan na may data para sa lahat ng naisagawang query, Mga konklusyon sa gawaing ginawa.
mga tanong sa pagsusulit

7.1. Ano ang layunin ng Oracle Database XE?

7.2. Paano nakakonekta ang isang user sa isang database ng Oracle Database XE?

7.3. Anong mga tool ang nagagawa user interface Oracle Database XE database para sa pagtatrabaho sa mga query sa SQL?

7.4. Anong mga tool ang ibinibigay ng Oracle Database XE database user interface para sa paggalugad ng mga object ng database?

7.5. Ano ang syntax ng SELECT statement?

7.6. Ano ang layunin ng sugnay na WHERE?

7.7. Ano ang mga uri ng table joins?

7.8. Ano ang pagkakaiba sa pagitan ng panloob at panlabas na pagsasama ng mesa?

7.9. Ano ang ginagamit ng mga operasyon ng pangkat?

7.10. Paano dapat gamitin ang mga pahayag na GROUP BY at HAVING?

Ito ang pangalawang bahagi ng tutorial sa paggawa ng database. Praktikal ang aralin, sa panahon ng aralin ang Oracle server, na na-install sa unang aralin, ay gagamitin. Kaya magsimula tayo:

Ang Database Configuration Assistant (dbca) ay ginagamit upang lumikha ng database. Ito, tulad ng karamihan sa mga utility, ay matatagpuan sa direktoryo ng bin. Oracle Server. Sa console, isinasagawa namin:

[email protected]: cd /u01/app/oracle/product/11.1.0/db_1/bin
[email protected]:./dbca

Magkakaroon ng paglulunsad graphic na aplikasyon kung saan magtrabaho. Pinapayagan ka ng Oracle na lumikha ng isang database "sa pamamagitan ng kamay", nang hindi gumagamit ng iba't ibang mga utility, ngunit pag-uusapan natin iyon sa ibang pagkakataon.

Ang unang screen ay nag-uulat lamang sa paglulunsad ng utility, ang layunin nito. Agad kaming tumuloy sa pangalawang hakbang sa pamamagitan ng pag-click sa susunod.

Ang ikalawang hakbang ay piliin ang aksyon na gagawin. Kung walang ibang mga database sa computer, ang ilang mga opsyon ay hindi magagamit. Halimbawa, tulad ng pagtanggal ng database o pag-set up. Ngayon kami ay interesado sa paglikha, kaya pinili namin ang opsyon na "Gumawa ng Database" at magpatuloy.

Ngayon ay hinihiling sa amin na pumili ng template ng database na gagamitin sa panahon ng paglikha. Pangkalahatan ay isang karaniwang template para sa karamihan ng mga database. Data Warehouse - isang data warehouse na idinisenyo upang mag-imbak ng data at isang maliit na bilang ng mga transaksyon. Custom na Database - ganap na nako-customize na database para sa iyong mga pangangailangan, depende sa sitwasyon.
Piliin ang Pangkalahatang Layunin ng Transaksyonal na Pagproseso at magpatuloy.

Ipo-prompt ka ng hakbang na ito na tukuyin ang Pangalan ng Global Database (Pangalan ng Global Database) at SID (System Identifier). Karaniwan, ang pandaigdigang pangalan ay isang SID na may domain name. Ang system identifier ay natatanging kinikilala ang database. Ang haba nito ay hindi dapat lumampas sa 8 character at hindi maaaring magsimula sa isang numero. Pinili ko ang pangalang "testdb" at ang pandaigdigang pangalan na "testdb.all-oracle.ru" para sa aking database. Mag-move on na tayo.

Tukuyin ang mga opsyon na isasama sa database na ginagawa. Ang tinukoy na "I-configure ang Enterprise Manager", ang opsyon na "I-configure ang Database Control para sa lokal na pamamahala" ay awtomatikong nasuri. Kung na-configure mo ang Grid, mag-iiba ang configuration. Ang teknolohiya ng grid ay tatalakayin sa ibang pagkakataon.

Bilang karagdagan, kung kinakailangan, pinapagana namin ang notification sa pamamagitan ng e-mail at awtomatikong backup ng Recovery Area. Iniwan kong walang check ang mga opsyong ito dahil walang access sa Internet ang test machine para magpadala ng mga mensahe at hindi na kailangan ng backup. Kung gusto mo, maaari mong isama ang mga opsyong ito sa iyong database. Upang gawin ito, markahan at ipahiwatig ang kinakailangang impormasyon. Para sa email notification SMTP server at address kung saan ipapadala. Para sa oras ng pag-backup at mga kredensyal para sa awtorisasyon sa antas ng operating system. Mag-move on na tayo.

Ipo-prompt ka ng hakbang na ito na magbigay ng mga password para sa mga built-in na Oracle account. Maaari mong tukuyin ang mga indibidwal na password para sa bawat account, o maaari mong piliin ang opsyong "Gumamit ng iisang password para sa lahat ng account." Dapat tandaan na bago ang Oracle 11g, ang lahat ay naka-capitalize at ang mga pag-login ng password ay hindi case sensitive. Simula sa bersyon 11g, nagsimulang mag-iba ang rehistro sa mga tuntunin ng mga kinakailangan sa seguridad. Para sa pagiging tugma sa nakaraang bersyon Posibleng itakda ang antas ng seguridad.

Dito pipiliin namin ang imbakan. Inaalok ang File System (File system), Awtomatikong Pamamahala ng Storage - ASM (Awtomatikong Pamamahala ng Storage) o Mga Raw na Device (literal na raw na mga device). Sa aming kaso, kami ang pumili file system at magpatuloy. Pag-uusapan natin ang iba pang mga paraan ng pag-iimbak sa ibang pagkakataon.

Tukuyin ang lokasyon ng mga file ng database. Maaari kang pumili mula sa isang template na inaalok ng Oracle, isang karaniwang lokasyon para sa lahat ng mga file ng database, o gumamit ng mga file na pinamamahalaan ng Oracle.

Tukuyin ang lokasyon ng Flash Recovery Area at ang laki nito. Noong nakaraan, lumikha kami ng isang direktoryo para sa FRA at ngayon ay tinukoy namin ang landas patungo dito, ang laki ay hindi nababago.

Ang Flash Recovery Area ay isang bagong opsyon na available mula noong bersyon 10g at ang batayan ng isang feature na tinatawag na Automated Disk-Based recovery. FRA - bahagi ng puwang sa disk para sa pag-iimbak at pamamahala ng mga file. Ito ay ganap na hiwalay sa iba pang mga bahagi ng database tulad ng mga file ng data, redo log, at mga control file. Ang Flash Recovery Area ay ginagamit ng Oracle Recovery Manager (RMAN) utility upang matiyak na ang database ay mababawi batay sa mga file na naka-save sa Flash Recovery Area. Ang Flash Recovery Area ay tatalakayin nang mas detalyado sa mga klase sa pagbawi ng database.

Sa parehong screen, maaari mong i-click ang File Location Variables... button upang tingnan ang buod ng ulat ng mga lokasyon ng Oracle file, kasama ang kasalukuyang setting ng ORACLE_BASE.

Sa hakbang na ito, iminumungkahi na mag-install ng mga scheme na may mga halimbawa, at patakbuhin ang alinman sa iyong mga script, kung mayroon man. Tukuyin upang mag-install ng mga halimbawa at magpatuloy. Kakailanganin mo ang mga ito sa mga susunod na aralin.

Ngayon ay iminungkahi na tukuyin ang mga setting ng memorya, ang uri ng koneksyon sa server, ang pag-encode. Dahil lumilikha lang kami ngayon ng sample na database at hindi namin itinakda sa aming sarili ang gawain ng fine-tuning, iniiwan namin ang mga default na halaga. Sa tab na Connection Mode, piliin ang "Dedicated server Mode" - ang dedicated server mode. Sa pamamagitan ng pag-click sa button na "Lahat ng Initialization Parameters...", maaari mong tingnan ang mga parameter ng initialization. Ipapakita ang mga ito sa isang talahanayan:

Dito maaari nating baguhin ang mga parameter kung kinakailangan. Kung walang kailangan, isara ang window at magpatuloy.

Mga Setting ng Seguridad. Ipo-prompt kang pumili ng mga setting bago ang bersyon 11g o mga bago na ipinakilala mula noong bersyon 11g. Ang pangunahing pagkakaiba para sa user ay case sensitivity. Ipinapahiwatig namin na gamitin ang mga bagong setting at magpatuloy pa.

Sa yugtong ito, iminungkahi na i-activate ang mga awtomatikong gawain sa pagpapanatili. Halimbawa, pagkolekta ng mga istatistika. Huwag paganahin at magpatuloy.

Tukuyin ang lokasyon ng mga file ng data, mga file ng log, mga file ng kontrol. Kung nababagay ang lahat, pagkatapos ay magpatuloy.

Ang huling hakbang ay upang makumpleto ang paglikha ng database. Gayundin, kung maaari mong i-save ang nilikha na database bilang isang template. Ito ay may kaugnayan kung lumikha ka ng isang partikular na database na may isang grupo ng mga setting para sa isang partikular na kaso at sa hinaharap ay madalas kang lumikha ng mga database ayon sa isang template.

I-click ang pindutang "Tapos na" at magsisimula ang proseso ng paglikha ng database. Ito ay magtatagal ng ilang oras, depende sa mga setting ng database na nilikha at ang kapangyarihan ng computer, mula sampung minuto hanggang isang oras.

Kung matagumpay na nakumpleto ang paglikha ng database, lilitaw ang sumusunod na window:

Narito ang mga pangunahing parameter ng database, isang link upang gumana sa Enterprise Manager. Bilang karagdagan, sa pamamagitan ng pag-click sa button na "Password Management ...", maaari kang magtakda ng mga password para sa mga built-in na account, magtakda o mag-alis ng mga lock ng user.

Pagkatapos baguhin ang mga password, kung mayroon man, i-click ang "Lumabas", nakumpleto nito ang paglikha ng database.

Ito ang nagtatapos sa aralin. Sa ikaapat na aralin, matututunan natin kung paano huminto at magsimula ng isang halimbawa ng database, matutunan kung ano ang isang tagapakinig, matutunan kung paano kumonekta sa isang database mula sa sqlplus.

Kung isa kang Linux sysadmin o developer, darating ang panahon na kailangan mong pamahalaan ang isang database ng Oracle na maaaring tumakbo sa iyong kapaligiran.

Sa kasong ito, mahalagang maunawaan ang ilan sa mga pangunahing aktibidad ng DBA ng Oracle. Sa tutorial na ito, ipapakita namin sa iyo kung paano lumikha ng database ng Oracle mula sa command line.

Kapag na-install mo ang Oracle software, bibigyan ka nito ng opsyong gumawa ng bagong database mula sa user interface.

Kung magpasya kang hindi lumikha ng isang bagong database, ngunit i-install lamang software Oracle, pagkatapos ay maaari kang lumikha ng database nang hiwalay.

Upang lumikha ng database ng Oracle , mayroon kang dalawang opsyon:

  1. Gamitin ang Database Configuration Assistant (DBCA) at lumikha ng bagong database gamit ang GUI. Ito ay medyo straight forward.
  2. Gamitin ang command na "Gumawa ng Database" upang lumikha ng bagong database ng Oracle mula sa command line. Ang pamamaraang ito ay kapaki-pakinabang kapag wala kang access sa server console upang patakbuhin ang DBCA. O, kung ang iyong server ay walang tamang mga setting ng Xterm, gamitin ang paraang ito.

1. Pagtatakda ng naaangkop na mga variable sa kapaligiran ng Oracle

Una, dapat mong itakda nang tama ang naaangkop na variable ng kapaligiran sa server.

Ipinapalagay ng halimbawang ito na ang oracle ay naka-install sa direktoryo /u01/app/oracle/product. Baguhin ang halagang ito upang umangkop sa iyong kapaligiran.

i-export ang ORACLE_BASE=/u01/app/oracle i-export ang ORACLE_HOME=/u01/app/oracle/product/11.2.0

Karamihan mahalagang parameter ay ang ORACLE_SID na magkakaroon ng pangalan bagong database ng Oracle ang gusto mong likhain. Sa halimbawang ito, ang pangalan ng bagong database ay nakatakda sa "dev" tulad ng ipinapakita sa ibaba.

I-export ang ORACLE_SID=dev

2. Lumikha ng ini-initdev.ora file

Pagkatapos ay lumikha ng isang ora.ini file para sa bagong database. Ito ang initialization file para sa bagong database.

Depende sa iyong bersyon ng Oracle, maaari kang makakita ng sample na init.ora file sa $ORACLE_HOME. Kung mayroon ka, gamitin ito bilang batayan at i-edit ang mga halaga nang naaayon.

cd $ORACLE_HOME/dbs cp init.ora initdev.ora

Tandaan:

Gaya ng ipinapakita sa itaas, ang initialization file para sa bagong database ay dapat na nasa sumusunod na format: INIT (ORACLE_SID) .ora - Kaya, sa kasong ito, ang pangalan ng file ay magiging: initdev.ora

Kung hindi mo nakikita ang default na template ng init.ora sa iyong $ORACLE_HOME/DBS, gamitin ang sumusunod na sample.

*.db_name="dev" *.db_domain="" *.audit_file_dest="/u01/app/oracle/admin/dev/adump" *.audit_trail="db" *.compatible="11.2.0.0.0" * .memory_target=1G *.control_files="/u01/app/oracle/oradata/dev/control01.ctl","/home/oracle/u02/oradata/dev/control02.ctl" *.db_block_size=8192 *.diagnostic_dest= "/u01/app/oracle/admin/dev" *.open_cursors=250 *.processes=100 *.remote_login_passwordfile="EXCLUSIVE" *.undo_tablespace="UNDOTS"

Ang ilang mga punto ay kailangang isaalang-alang sa nasabing file:

  • Sa tinukoy na file, tiyaking itinakda mo ang db_name sa pangalan ng ORACLE_SID set sa nakaraang hakbang
  • Kung ano man ang tawag dito undo_tablespace, ipinapahiwatig namin na dapat naming gamitin ang eksaktong pangalan sa command na CREATE DATABASE.
  • Baguhin ang lokasyon ng mga direktoryo nang naaangkop batay sa iyong system. Huwag kalimutang palitan ang "dev" sa direktoryo sa itaas ng iyong pangalan ng ORACLE_SID.

3. Gumawa ng Serve Parameter file (spfile)

SP file ay kumakatawan sa server parameter file. Hindi tulad ng sp file, ang file ay pinasimulan sa binary at hindi mo maaaring manu-manong i-edit ang SPFILE.

Ang sp file ay nilikha mula sa ini file. Ang bentahe ng sp file ay maaari mong baguhin ang halaga ng mga parameter ng pagsisimula pagkatapos magsimula ang database gamit ang command na ALTER SYSTEM.

Sa madaling salita, kapag ginagamit ang "ALTER SYSTEM" na utos upang baguhin ang anumang halaga ng parameter, nai-save nito ang mga ito sa sp file.

Pagkatapos, kapag sinimulan ang database ng Oracle, hinahanap muna nito ang sp file para sa value ng parameter. Kung hindi nito mahanap ang sp file, gagamitin nito ang teksto batay sa ini file.

Upang lumikha ng sp file para sa aming bagong database, gamitin ang sumusunod na command.

Una, gamitin sqlplus na utos at kumuha ng SYSDBA Oracle prompt mula sa kung saan tayo gagawa ng bagong database.

$ sqlplus / as sysdba Nakakonekta sa isang idle na instance. SQL>

Kung mapapansin mo sa output sa itaas, may nakasulat na "Connected to an idle instance.". Ito ay dahil ang aming kasalukuyang ORACLE_SID ay nakatakda sa dev, na isang bagong database na hindi pa namin nagagawa.

Kaya ang unang hakbang ay lumikha ng isang bagong sp file batay sa ini file. Ang ibig sabihin ng spfile ay ini file. Ang sumusunod na command ay lilikha ng bagong spfile.

SQL> GUMAWA NG SPFILE MULA SA PFILE; Nagawa ang file.

Tulad ng makikita mo sa ibaba, ang utos ay awtomatikong lumikha ng spfiledev.ora.

$ ls -1 $ORACLE_HOME/dbs/ initdev.ora spfiledev.ora

4. Patakbuhin ang Idle Instance

Bago gumawa ng database, dapat tayong magsimula ng isang instance para sa database ng "dev" gamit ang STARTUP NOMOUNT command. Tulad ng nahulaan mo, ang utos na ito ay hindi makakonekta sa database. Simple lang magsimula ng bagong walang laman na simpleng ORACLE_SID instance na pinangalanang "dev".

SQL> STARTUP NOMOUNT; Nagsimula ang ORACLE instance. Kabuuang System Global Area 1258291200 bytes Fixed Size 1261564 bytes Variable Size 520093700 bytes Database Buffers 721420288 bytes Redo Buffers 15515648 bytes

Sa command sa itaas, babasahin nito ang default na spfile na pinangalanang spfile(ORACLE_SID).ora mula sa default na lokasyon ng spfile na $ORACLE_HOME/dbs. Kung walang spfile, magiging default ito sa init(ORACLE_SID).ora file initialization

Para sa ilang kadahilanan, kung gusto mong tukuyin ang lokasyon ng iyong spfile, magagawa mo ito sa pamamagitan ng pagpasa sa parameter ng spfile, tulad ng ipinapakita sa ibaba.

SQL> STARTUP NOMOUNT PFILE=/tmp/initdev.ora

Gayundin, maaari mong makuha ang sumusunod na ORA-01078 at LRM-00109 kung ang spfile o initialization file ay wala sa default na lokasyon.

SQL> STARTUP NOMOUNT ORA-01078: pagkabigo sa pagproseso ng mga parameter ng system LRM-00109: hindi mabuksan ang file ng parameter na "/u01/app/oracle/product/11.2.0/dbs/initdev.ora"

5. Gumawa ng Bagong Oracle Database

Gamitin ang sumusunod na command na CREATE DATABASE upang lumikha ng walang laman na database.

SQL> GUMAWA NG DATABASE dev USER SYS NA KINIKILALA NG DevSysPass USER SYSTEM NA KINIKILALA NG DevSystemPass LOGFILE GROUP 1 ("/home/oracle/u02/oradata/dev/redomed_01.log") SIZE 50M, GROUP 2 ("u2/oracle" oradata/dev/redomed_02.log") SIZE 50M, MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 CHARACTER SET US7ASCII NATIONAL CHARACTER SET AL16UTF16 DATAFILE "/home/oracle/u02/oradata/dev0LEMSYSTEM"0SI1/dev/system0SA1. /oracle/u02/oradata/dev/sysaux01.dbf" SIZE 100M REUSE DEFAULT TABLESPACE USERS DATAFILE "/home/oracle/u02/oradata/dev/users01.dbf" SIZE 50M REUSE AUTOEXTEND ON MAXORSIZE UNLIMITE NA TEMPLEDORSIZE/UNLIMITE home/oracle/u02/oradata/dev/tempts01.dbf" SIZE 30M REUSE UNDO TABLESPACE UNDOTS DATAFILE "/home/oracle/u02/oradata/dev/undots01.dbf" SIZE 100M REUSE AUTOEXTEND ON MAXSIZE;

Sa utos sa itaas:

  • Ang Create database command ay lilikha ng isang Oracle database na pinangalanang "dev"
  • Ang password na tinukoy sa 2nd line ay itatalaga sa user SYS
  • Ang password na tinukoy sa ika-3 linya ay itatalaga sa gumagamit ng SYSTEM
  • Gumagawa kami ng dalawang paulit-ulit na log na may sukat na 100MB bawat isa.
  • MAXLOGFILES - Ang maximum na bilang ng mga log file ay nakatakda sa 5
  • MAXDATAFILES - Ito ay nagpapahiwatig ng maximum na bilang ng Oracle data files na maaaring gawin para sa database na ito.
  • DATAFILE - Tumuturo sa data file na gagamitin sa table SYSTEM
  • SYSAUX DATAFILE - Ito ay nagpapahiwatig na ang data file ay gagamitin sa SYSAUX tablespace
  • Ang default na tablespace para sa database na ito ay nakatakda sa USERS
  • Ang pansamantalang tablespace ay nakatakda sa TEMPTS bilang default
  • I-undo ang tablespace ay nakatakda sa UNDOTS

Tandaan:

Kung itinakda mo ang DB_CREATE_FILE_DEST sa initialization file sa isang lokasyon ng direktoryo, hindi mo kailangang tukuyin ang eksaktong lokasyon at mga filename para sa lahat ng data file, ang Oracle na ang bahala sa iyo.

Halimbawa, kung tinukoy mo ito sa initdev.ora file.

# vi initdev.ora DB_CREATE_FILE_DEST="/home/oracle/u02/oradata/dev"

Sa kasong ito, maaari mong pasimplehin ang iyong CREATE DATBASE command gaya ng ipinapakita sa ibaba.

SQL> GUMAWA NG DATABASE dev USER SYS NA KINIKILALA NG DevSysPass USER SYSTEM NA KINILALA NG DevSystemPass MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 CHARACTER SET US7ASCII NATIONAL CHARACTER TEMPOR SET16 DEFABLE TEMPOR TABLE TEMPOR TABLE AL16SP

Ang mga utos sa itaas ay lilikha ng naaangkop na mga file ng data na kailangan para sa lahat ng mga tablespace (i-undo, pansamantala, atbp.) ayon sa lokasyong tinukoy sa direktoryo ng DB_CREATE_FILE_DEST.

6. Bumuo ng Dictionary of Views Data

Bilang huling hakbang, patakbuhin ang catalog.sql at catproc.sql. lilikha ng script ng direktoryo ang lahat ng mga talahanayan ng bokabularyo, mga view na nauugnay sa pagganap, mga kinakailangang pampublikong kasingkahulugan. Magbibigay din ito ng naaangkop na pag-access sa lahat ng mga kasingkahulugan na nilikha. Ang catproc script ay nagpapatupad ng lahat ng mga script na kinakailangan para sa PL/SQL functionality.

SQL>@?/rdbms/admin/catalog.sql; SQL>@?/rdbms/admin/catproc.sql

Bahagyang output mula sa mga utos sa itaas.

SQL>@?/rdbms/admin/catalog.sql; DOC>#################################################### ###################### DOC>############################ ############################################ DOC> Ang sumusunod na pahayag ay magdudulot ng isang "ORA-01722: invalid number" DOC> error at wakasan ang SQLPLUS session kung ang user ay hindi SYS. DOC> Idiskonekta at muling kumonekta sa AS SYSDBA. DOC>#################################################### ###################### DOC>############################ ############################################ DOC># walang row ang napiling package nilikha. nilikha ang katawan ng pakete. .. .. Nalikha ang kasingkahulugan. Nagtagumpay si Grant. Matagumpay na nakumpleto ang pamamaraan ng PL/SQL. SQL> @?/rdbms/admin/catproc.sql .. .. Nagawa ang komento. Nalikha ang kasingkahulugan. Nagtagumpay si Grant. Matagumpay na nakumpleto ang pamamaraan ng PL/SQL.

Kung interesado ka, maaari mong tingnan ang direktoryo at script ng catproc upang makita kung ano mismo ang ginagawa nito.

Sa $ORACLE_HOME/rdbms/admin/catalog.sql; vi $ORACLE_HOME/rdbms/admin/catproc.sql

7. Inspeksyon - Pagkumpleto at pagkomisyon

At panghuli, magsagawa ng mga regular na shutdown at startup upang matiyak na gumagana ang lahat gaya ng inaasahan sa bagong database na ito.

$ sqlplus / bilang sysdba SQL> AGAD I-SHUTDOWN; sarado ang database. na-dismount ang database. Isinara ang instance ng ORACLE. SQL> STARTUP; Nagsimula ang ORACLE instance. Kabuuang System Global Area 1234563200 bytes Fixed Size 1262454 bytes Variable Size 522935700 bytes Database Buffers 720583588 bytes Redo Buffers 12946358 bytes Database mounted.