Ev / Mobil işletim sistemi / Manuel olarak bir Oracle veritabanı oluşturun. Veritabanı oluşturmak için DBCA'yı kullanma Oracle'da veritabanı oluşturma

Manuel olarak bir Oracle veritabanı oluşturun. Veritabanı oluşturmak için DBCA'yı kullanma Oracle'da veritabanı oluşturma

Veritabanı Yapılandırma Asistanını Kullanarak Oracle 12c Veritabanı Oluşturma

1. Çalıştır . Klavyenizdeki Windows düğmesine basın, başlangıç ​​ekranına yönlendirileceksiniz ( Başlama ekranı), ekranın alt kısmında uygulamalar ekranını çağırmak için bir düğme vardır ( uygulamalar ekran). Tıkla.

2. Ekranda uygulamalar simge seç Veritabanı Yapılandırma Yardımcısı.

3. Pencere Veritabanı Yapılandırma Yardımcısı - Veritabanı İşlemi. Seçme Veritabanı Oluştur. Tıklamak Sonraki.

4. Pencere Veritabanı Yapılandırma Yardımcısı—Oluşturma Modu. Seçme Gelişmiş mod. Tıklamak Sonraki.

5. Pencere Veritabanı Yapılandırma Yardımcısı - Veritabanı Şablonu. Seçme Özel Veritabanı. Tıklamak Sonraki.

6. Pencere Veritabanı Yapılandırma Yardımcısı - Veritabanı Tanımlama. Bir temel ad belirtin. alanında Küresel Veritabanı Adı Adınızı giriniz DB. Ad isteğe bağlı olabilir, altı karakterden fazla olamaz, bir harfle başlayabilir ve özel karakterler, alt çizgiler ve boşluklar içeremez, örneğin Ölçek veya rp34. alanında SID benzersiz bir veritabanı kimliği girin. DB adıyla aynı yapın. Tıklamak Sonraki.

7. Pencere Veritabanı Yapılandırma Yardımcısı—Yönetim Seçenekleri. Kutuyu kontrol et Enterprise Manager (EM) Database Express'i Yapılandırma. alanında EM Veritabanı Ekspres Bağlantı Noktası port numarasını girin (varsayılan port numarası 5500'dür - bırakın). Tıklamak Sonraki.

8. Pencere Veritabanı Yapılandırma Yardımcısı - Veritabanı Kimlik Bilgileri. Sistem kullanıcıları için parola belirleyin (bu örnekte, tüm sistem kullanıcıları için aynı parola ayarlanmıştır, bunun endüstriyel bir veritabanında yapılması gerekli değildir). Kontrol Herkes için Aynı Yönetici Parolasını Kullanın hesaplar, Parolanı Gir. için şifre girin Oracle Ana Sayfa Kullanıcı Şifresi– adına Oracle hizmetlerinin başlatıldığı Oracle Home'un sahibi (bu kullanıcı, ne zaman oluşturacağınızı veya ne zaman belirlediğinizi Oracle'ı kurmak-). Tıklamak Sonraki.

9. Pencere Veritabanı Yapılandırma Yardımcısı—Ağ Yapılandırması. Bir dinleyici işlemi seçin veya yeni bir tane oluşturun. Tıklamak Sonraki.

10. Pencere Veritabanı Yapılandırma Yardımcısı - Depolama Konumları. Veritabanı dosyaları için depolama mekanizmasını belirtin (bu örnekte dosya sistemi belirtilmiştir). Seçme Dosyasistem. Temel dosyaların konumunu belirtin (bu örnekte varsayılan yollar kullanılacaktır). Kontrol kullanmakveri tabanıDosyaKonumlaritibarenŞablon.

Veritabanı kurtarma seçeneklerini belirtin (bu örnekte kurtarma seçenekleri kullanılmaz). Kutuyu kontrol et belirtmekHızlıİyileşmekalan. Bu, RMAN'ın yedeklendiği ve redo log dosyalarının arşivlenmiş kopyalarının saklandığı varsayılan klasördür. Varsayılan olarak, klasör (ORACLE_BASE)\fast_recovery_area konumunda bulunur. alanında Hızlıİyileşmekalan bu yolu değiştirebilir ve klasörü açıkça ayarlayabilirsiniz. Yedek kopya. parametrede Hızlıİyileşmekalan boyut bu klasörün boyutu için bir sınır belirlenir (bunu tüm dosyanın hacmine eşit yapmak daha iyidir) sabit disk). Parametre etkinleştirmearşivleme günlük dosyalarını arşivleme modunu açar. düğmeye basarsan DüzenlemekArşivmodparametreler daha sonra yineleme arşivlerinin adları için şablonu ve ayrıca arşivlenmiş kopyaları çoklamak için ek yolları değiştirebilirsiniz. Her şeyi varsayılan olarak bırakın.

DİKKAT: Endüstriyel baz için, günlük dosyalarını arşivleme modunu etkinleştirmek gereklidir. Ancak, Hızlı Kurtarma Alanı klasörünün sınırına ulaşıldığında (yani dolduğunda), veritabanı duracak ve boş alan için bekleyecektir. Bu nedenle, bu klasörün doldurulmasını izleyemiyorsanız - günlük dosyalarını arşivleme modunu AÇMAYIN, yani. kutuyu işaretleme etkinleştirmearşivleme.

Tıklamak Sonraki.

11. Pencere Veritabanı Yapılandırma Yardımcısı - Veritabanı Seçenekleri. Gerekli temel bileşenleri seçin. Tıklamak Sonraki.

12. Pencere. Yer imi Hafıza. Bellek ayırma yöntemini ve boyutunu ayarlayın. Seçme Tipik. alanında Yüzde miktar ayarla fiziksel hafıza, Oracle'a tahsis edilecek. Genellikle bu 70-80% . Sunucuda Oracle dışında kaynak yoğun başka işlemler çalışıyorsa, şundan daha az bir sayı seçin: 70% .

13. Düğmeye tıklayın ... Pencere Tüm Başlatma Parametreleri. Değerleri düzeltin (alan değer) aşağıdaki parametreler:

Gerekli parametreler (değiştirilmesi gerekir!).

; Çok sayıda aktif kullanıcı için (70-80'den fazla).

; GERÇEK KULLANICILARI Say,

; ağdaki bilgisayar sayısı değil.

; 70-80'den az kullanıcı varsa bu parametrelere dokunmayın.

; 100-200'den fazla kullanıcı varsa, belki daha verimli

; Paylaşılan Sunucu Modu'nu kullanın.

süreçler = kullanıcı sayısı*2

oturumlar = 1.1*süreçler +5

Tıklamak kapat. pencere Veritabanı Yapılandırma Yardımcısı - Başlatma Parametreleri.

14. Pencere Veritabanı Yapılandırma Yardımcısı - Başlatma Parametreleri. Yer imi boyutlandırma. Veritabanı bloğunun boyutunu seçin. Veritabanı blok boyutu en az olmalıdır 8Kb. Sunucunun iyi bir disk alt sistemi varsa ( SCSI diskler veya YAĞMA) seçebilmek 16Kb ve daha yüksek (blok boyutu 8Kb sadece büyük üsler için anlamlıdır). alanında blok boyutu istediğiniz değeri girin ( 8192 veya 16384 ).

15. Pencere Veritabanı Yapılandırma Yardımcısı - Başlatma Parametreleri. Yer imi karakterSetler. Veritabanı için kodlamayı seçin. kodlama olmalıdır CL8MSWIN1251. Varsayılan olarak seçili varsayılanı kullan. Doğru kodlama belirtilirse, hiçbir şeyin değiştirilmesi gerekmez. Belirtilen kodlama doğru değilse. Bu durumda, seçin Karakter kümeleri listesinden seçim yapın ve listeden doğru kodlamayı seçin CL8MSWIN1251. alanında Varsayılandilim açılır listeden değeri seçin Rusça» ve sonraki alanda Varsayılan Bölge- anlam " Rusya».

14. Pencere Veritabanı Yapılandırma Yardımcısı - Başlatma Parametreleri. Yer imi bağlantı modu. Seçme Özel Sunucu Modu. Tıklamak Sonraki.

15. Pencere Veritabanı Yapılandırma Yardımcısı - Oluşturma Seçeneği. Seçme Veritabanı yarat. Tıklamak Sonraki.

16. Pencere Veritabanı Yapılandırma Yardımcısı—Özet. Ayarların doğru olup olmadığını kontrol edin. Tıklamak Tamam.

17. Pencere Veritabanı Yapılandırma Yardımcısı - İlerleme Sayfası. Veritabanı oluşturma işlemi devam ediyor. Tamamlanmasını bekleyin.

18. Pencere Veritabanı Yapılandırma Yardımcısı. Veritabanı oluşturma tamamlandı. Veritabanı Kontrolü için Web adresini not edin. Tıklamak kapat.

19. Veritabanı oluşturuldu ve halihazırda çalışıyor. Diğer ORACLE_HOME'lardan bir veritabanına bağlanmak için, onlar için bir Oracle ağ ortamı kurmanız gerekir.

20. Veritabanını oluşturduktan sonra veritabanı için bazı ayarları değiştirebilirsiniz. Bunu yapmak için SYS altında sqlplus (veya TOAD) içinde birkaç sql komutu çalıştırmanız ve veritabanını yeniden başlatmanız gerekir.

sqlplus /nolog'u çalıştırın.

C:\> sqlplus /nolog

sysdba olarak kullanıcı sys olarak veritabanına bağlanın

SQL> sysdba olarak sys/sys bağla

db'de geri dönüşüm kutusunun kullanımını devre dışı bırak

SQL> sistem setini değiştir recyclebin=kapalı kapsam=spfile;

parola büyük/küçük harf duyarlılığını devre dışı bırak

SQL> sistem setini değiştir sec_case_sensitif_logon=YANLIŞ kapsam=her ikisi;

ORA-29471 ile ilgili sorunu düzelt: DBMS_SQL erişimi reddedildi

SQL> sistem setini değiştir "_dbms_sql_security_level"=384 kapsam=spfile;

(isteğe bağlı) her 60 günde bir kullanıcılar için şifre değiştirmemek

sınırsız yerine sayı = gün sayısı koyabilirsiniz

SQL> profili değiştir DEFAULT limit password_life_time sınırsız;

DB yeniden başlatma

SQL> derhal kapatma

SQL> çalıştırmak

21. İstemci 8, 9, 10, 11'in eski sürümleri Oracle 12c'ye hatalarla bağlanamaz:

ORA-28040: Eşleşen kimlik doğrulama protokolü yok - 6i formları için

ORA-01031: yetersiz ayrıcalık - 11g istemcisi için

Sorunu çözmek için sunucuda sqlnet.ora'ya eklemeniz gerekiyor.

SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

SQLNET.ALLOWED_LOGON_VERSION_SERVER=8

22. Bazı Oracle 10 ve 11 istemcileri ORA-01031 ile çöküyor: yürütmeye çalışırken yetersiz ayrıcalık

u.NAME SEÇ
sistemden USER$u
Neredesin. TÜR# = 1
1 ADET SİPARİŞ

12c'den itibaren, HERHANGİ BİR SÖZLÜĞÜ SEÇ ayrıcalığı, DEFAULT_PWD$, ENC$, LINK$, USER$, USER_HISTORY$ ve XS$VERIFIERS güvenlik açısından hassas veri sözlüğü tablolarına erişime artık izin vermemektedir. Bu değişiklik, HERHANGİ BİR SÖZLÜĞÜ SEÇ ayrıcalığı aracılığıyla veri sözlüğü tablolarının bir alt kümesine erişime izin vermeyerek veritabanının varsayılan güvenliğini artırır.

dolambaçlı manevra:

HİBE SEÇİMİ sys. KULLANICI$ KAMUYA;

Bir Oracle veritabanını manuel olarak oluşturmak birkaç adımı içerir. Bazıları bağlıdır işletim sistemi. Örneğin, bir Windows ortamında, bir veritabanı oluşturmadan önce, veritabanı hizmetini oluşturmak için kullanılan oracle programını çalıştırmalısınız. Manuel olarak bir veritabanı oluşturma adımları:

  1. Bir veritabanı oluşturma komut dosyası yazın. Böyle bir senaryonun bir örneği 6. adımda verilmiştir.
  2. Yeni veritabanını barındıracak bir dizin yapısı oluşturun. Optimum esnek mimariyi oluşturmak için talimatları izleyin.
  3. Oracle tarafından sağlanan mevcut örnek init.ora dosyasını yeni veritabanının ayarlarını yansıtacak şekilde değiştirin.
  4. Oracle için SID adını tanımlayın. Windows platformunda, işletim sistemi isteminde şunu girin: set ORACLE_SID = mydb

    UNIX'te şunu girin:

    ORACLE_SID'yi dışa aktar = mydb

  1. SQL* Plus aracılığıyla aşağıdaki gibi bir veritabanı bağlantısı kurun: SİSTEM / MÜDÜR sysdba olarak veya nasıl / sysdba olarak ve veritabanını nomount modunda başlatmak için aşağıdaki komutu girin: startup nomount pfile= D:/oracleadmin/mydbscripts/initMYDB.ora; Burada verilen pfile parametre değerlerinin yerine başlatma parametrelerinizi değiştirin.
  2. Veritabanını başlattıktan sonra Oracle veritabanını oluşturmak için yazdığınız scripti kullanın. İşte bir örnek: veritabanı oluştur MYNEW maxinstances 1 maxloghistory 1 maxlogfiles 5 maxlogmembers 5 maxdatafiles 100 veri dosyası d:/oracle/oradata/mydb/system01.dbf boyutu 325M sonraki 10240K maxsize sınırsız karakter kümesinde otomatik genişletmeyi yeniden kullan WE8MSWIN1252 ulusal karakter kümesi AL16UTF16 Günlük dosyası grubu (d :/oracle/oradata/mydb/edo01.log) boyut 100M, grup 2 (d:/oracle/oradata/mydb/edo02.log) boyut 100M, grup 3 (d:/oracle/oradata/mydb/edo03. log) boyut 100M varsayılan geçici tablo alanı TEMP tempfile d:/oracle/oradata/mydbemp01.dbf kapsam yönetimi yerel tek tip boyut 1M tablo alanını geri al UND0_TS veri dosyası d:/oracle/oradata/mydb/emp0.dbf boyut 150M autextend'i sonraki 10240K'da yeniden kullan maxsize sınırsız ;
  • Veritabanını oluşturduktan sonra, katalog.sql , catproc.sql , catexp.sql komut dosyalarını ve yüklediğiniz ürünleri desteklemek için gereken tüm yeni komut dosyalarını çalıştırın. Bir UNIX sisteminde, komut dosyaları $ORACLE_HOME\rdbms\admin dizininde ve Windows ortamında $ORACLE_HOME/rdbms/admin dizininde bulunur. Çoğu katalog komut dosyası diğer komut dosyalarını çağırdığından, komut dosyalarını çalıştırmadan önce inceleyin.
  • Gelişmiş güvenlik için, varsayılan MANAGER ve CHANGE_ON_INSTALL parolalarını bırakmak yerine SYS ve SYSTEM için en azından başka parolalar girin. 6. adımdaki örnek komut dosyası, bir UNDO tablo alanı oluşturur. Bunun için başlatma seçenekleri şunlardır: undo_management=AUTO undo_tablespce=UNDOTBS Veritabanı oluşturulduktan sonra değiştiremeyeceğiniz tek seçenek, oluşturulmadan önce init.ora dosyasında tanımladığınız veritabanı blok boyutudur. Bu değeri ayarlamak için DB_BLOCK_SIZE parametresi kullanılır. Örneğin, aşağıdaki satır, varsayılan veritabanı blok boyutunu 8 KB olarak ayarlar. DB_BL0CK_SIZE=8k Veritabanınızda geçerli olan parametreleri görmek için, bir V$PARAMETER dinamik araması isteyin: V$PARAMETER'den Ad, Değer, Varsayılan'ı seçin;

Laboratuvar #1

Oracle Veritabanı 11g Express Edition veritabanı. SQL sorguları tasarlama

Amaç

Oracle Database 11g Express Edition'ın kullanıcı arayüzünü (DB) incelemek ve SQL sorguları oluşturmak.

Görevler

Oracle Database 11g Express Edition'a bir veritabanı bağlantısı oluşturma. İK şeması nesnelerini keşfetme ve bir veri modeli derleme. Sorgu Düzenleyicisi ve Sorgu Oluşturucu modlarında veri seçmek için SQL sorguları tasarlama.


teorik kısım

3.1. Genel bilgi DB hakkında

Oracle Database 11g Express Edition (Oracle Database XE), dünyadaki en güçlü ilişkisel veritabanının ücretsiz (ücretsiz) bir sürümüdür. Kurulum için idealdir Eğitim Kurumlarıöğrencilere öğretmek amacıyla modern yöntemler Oracle ilişkisel veritabanlarıyla çalışmak ve kullanıcı verilerini görüntülemek ve verileri işlemek için uygulamalar geliştirmek.

Oracle Database XE'nin kurulumu ve yönetimi kolaydır. Çeşitli platformlar için kurulum dosyalarını resmi Oracle web sitesinde http://www. /technetwork/database/database-technologies/express-edition/downloads/index. html.

Oracle Database XE, herhangi bir sayıda işlemciye (bilgisayar başına bir veritabanı) sahip bir bilgisayara (ana makine) kurulabilir, ancak Oracle Database XE yalnızca 11 GB'a kadar kullanıcı verisi depolar, 1 GB'a kadar bellek kullanır ve ana bilgisayar -araba başına yalnızca bir işlemci.

Oracle Database 11g Express Edition, ilgili bilgi koleksiyonlarını depolayan ve alan ilişkisel bir veritabanıdır. İlişkisel bir veritabanında, bilgi depolama nesneleri tablolar adı verilen yapılar halinde düzenlenir. Her tablo, sütunlardan (alanlardan) oluşan satırlar (kayıtlar) içerir. Tablolar veritabanında şema adı verilen yapılarda saklanır. Şemalar, veritabanı kullanıcılarının tablolarını ve diğer nesneleri depoladığı mantıksal veri yapılarıdır.


Oracle Database XE'ye, sezgisel bir grafik arayüze sahip veritabanı ana sayfası kullanılarak erişilir. Ana sayfaya erişim, bir web servisi temelinde düzenlenir. Ana sayfa, kullanıcıya veritabanı yönetimi, tablolar, görünümler ve diğer şema nesneleri oluşturma, içe aktarma, dışa aktarma, görüntüleme, tablo verilerini düzenleme için web araçları sağlar. Bu araçlar, SQL sorguları ve SQL komut dosyaları çalıştırmanıza, PL/SQL programları oluşturmanıza ve hatalarını ayıklamanıza, veritabanı uygulamaları geliştirmenize ve raporlar oluşturmanıza olanak tanır.

Oracle Database XE, bağlantılı bir tablo şeması örneği olan gömülü bir İK (İnsan Kaynakları) şeması içerir. İK şeması, çalışanlar ve departmanlar hakkında hayali bilgileri depolamak için tablolara sahiptir. Tablolar, bir tablodaki verilerin diğer tablolardaki verilerle ilişkilendirilmesine izin veren ortak sütunlar içerir. İK şeması, İK adlı bir kullanıcıya aittir.

3.2. Oracle Database XE'ye Erişme

Kullanıcılar Oracle Database 11g Express Edition'a şu yollarla erişir: hesap veritabanı kullanıcısı. Veritabanını kurarken, SYS ve SYSTEM kullanıcı hesapları otomatik olarak oluşturulur - bunlar veritabanı yönetim ayrıcalıklarına sahip kullanıcılardır. Yönetici ayrıcalıklarına sahip olmayan bir İK kullanıcı hesabı da otomatik olarak oluşturulur.

Ancak güvenlik nedeniyle İK kullanıcı hesabı kilitlendi. İK şeması nesneleriyle çalışmaya başlamadan önce bu hesabın kilidini açmalısınız. Bunu yapmak için SQL*Plus komut satırını kullanabilirsiniz.


kullanarak bir kullanıcı hesabının kilidini açmak için Komut satırı SQL*Plus'a ihtiyacınız var:

Başlat düğmesi -> Tüm Programlar -> Oracle Database 11g Express Edition -> SQL Komut Satırını Çalıştırın. SYSTEM kullanıcısı olarak bağlanın:

    connect yazın Bağlanmak için bir ad girin: SYSTEM Bir parola girin:<пароль-для-SYSTEM >
Başarılı bir bağlantıdan sonra (mesaj bağlandı), aşağıdaki SQL deyimini girin:

SQL> KULLANICI İK HESABI KİLİT AÇMA DEĞİŞTİR;

Aşağıdaki SQL deyimini kullanarak kullanıcı İK parolasını girin:

SQL> İK TARAFINDAN TANIMLANAN KULLANICI İK'sını ALTER;

Düzenleyiciden çıkmak için SQL deyimini girin:

SQL*Plus Komut Satırı Düzenleyicisi penceresi Şekil 1'de gösterilmektedir. 1.1.

Pirinç. 1.1. SQL*Plus Komut Satırı Düzenleyici Penceresi

Bir Oracle Database XE veritabanına bağlanmak, aşağıdakiler de dahil olmak üzere çeşitli veritabanı yönetim işlemlerini gerçekleştirmek için tarayıcı tabanlı bir web arayüzü olan Ana Sayfa aracılığıyla gerçekleştirilir:

    Depolama tabanı izleme (Depolama); Veritabanı oturumlarının izlenmesi (Oturumlar); Veritabanı başlatma parametrelerini görüntüleyin (Parametreler); Oracle Application Express'i (Application Express) kullanmaya başlama.

Ana sayfa erişimi: Başlat düğmesi -> Tüm Programlar -> Oracle Database 11g Express Edition -> Başlayın.

Oracle Database XE ana sayfası, web tarayıcı penceresinde görünür (Şekil 1.2).

Pirinç. 1.2. Oracle Veritabanı XE Ana Sayfası

Uygulama Ekspres düğmesini tıklayın. Oturum açma bilgileri istendiğinde şunu girin: kullanıcı adı - SİSTEM, şifre -<пароль-для-SYSTEM >, SQL*Plus komut satırı düzenleyicisinde olduğu gibi. Giriş düğmesine tıklayın (Şekil 1.3).


Pirinç. 1.3. Veritabanı Yöneticisi Rolüne Sahip Bir Kullanıcıyı Oracle Database XE'ye Bağlama

Sonraki adım, İK kullanıcısı için bir Oracle Application Express çalışma alanı oluşturmaktır. Bu çalışma alanı, İK kullanıcısının çalışmasına izin verilen tüm veritabanı uygulamalarını içerecektir. Çalışma alanı oluşturma formu, Şek. 1.4.

Pirinç. 1.4. Oracle Application Express Çalışma Alanı Oluşturma

Application Express Kullanıcı Adı, çalışma alanının adıdır. Bir kullanıcı adı (HR) veya başka bir ad (örneğin, hr_apex) kullanabilirsiniz. Şifreyi onaylayın. Çalışma Alanı Oluştur'a tıklayın. Bir sonraki sayfada, çalışma alanına girmek için burayı tıklayın'ı tıklayın. Çalışma alanına ilk erişmeye çalıştığınızda, çalışma alanı için parolayı sıfırlamanız istenecektir (aynı parolayı veya farklı bir parolayı kullanabilirsiniz).

Oracle Application Express çalışma alanı oluşturma işlemi yalnızca bir kez yapılmalıdır. Sonraki veritabanı bağlantıları için, Zaten hesabınız var mı? Giriş yapın. Çalışma alanına girmek için Oracle Application Express için bir form gösterilecektir, şek. 1.5.

SYSTEM kullanıcısının yetkilendirme adımlarını atlamak ve forma geçiş yapmak için şek. 1.5, bu formun URL'sini kopyalayıp kaydedin (örneğin, http://127.0.0.1:8080/apex/f?p=4550:1:494885012264286) ve doğrudan yetkilendirmeyle çalışmaya başlamak için bir web tarayıcısında kullanın form.


Oracle Application Express çalışma alanına giriş yaptıktan sonra, ana kontrollerin bulunduğu ana sayfa açılır - Uygulama Oluşturucu, SQL Atölyesi, Takım Geliştirme, Yönetim simgeleri (Şekil 1.6).

Şekil 1.6. Oracle Application Express Çalışma Alanı Ana Sayfası Kontrol Simgeleri

Simgenin resmine tıklamak, izin verilen işlemlerin simgeleriyle yeni bir sayfaya geçişe neden olur. SQL Workshop simgesine tıklamak, veritabanı nesnelerini (Nesne Tarayıcı, Yardımcı Programlar) keşfetmek ve bunlarla çalışmak için araçlara erişmenizi sağlar. SQL sorguları Komutlar, SQL Komut Dosyaları, Sorgu Oluşturucu (Şekil 1.7).

Pirinç. 1.7. Veritabanı nesnelerini keşfetmek ve SQL sorgularıyla çalışmak için araçlar

3.3. SQL ile verilere erişme

SQL, veritabanı erişimi için prosedürel olmayan bir dildir. SQL deyimleri, Oracle Database XE'deki tablolardan veri almak gibi çeşitli görevleri gerçekleştirmek için tasarlanmıştır. Tüm veritabanı işlemleri SQL deyimleri kullanılarak gerçekleştirilir. SQL deyimlerini kullanarak aşağıdaki işlemleri gerçekleştirebilirsiniz:

    tablolara veri sorgulama, ekleme ve güncelleme; verileri biçimlendirme, verilere dayalı hesaplamalar yapma, sorgu sonuçlarını saklama ve yazdırma; tabloların yapısını incelemek ve veritabanı nesnelerini tanımlamak.

Veri Getirme Sorguları Oluşturma

Tüm tablo kayıtlarını seçmek için SELECT deyimi sözdizimi


Sınırlayıcı olarak boşluk kullanarak, seçim listesinde sütun adından sonra bir takma ad belirtebilirsiniz. Takma ad, sayı işareti # veya dolar işareti $ gibi boşluklar veya özel karakterler içeriyorsa veya büyük/küçük harfe duyarlıysa, diğer adı "" tırnak işaretleri içine alın. Örnek vermek:

SEÇ çalışan_kimliği "Çalışan Kimlik numarası",

soyadı "Çalışan soyadı",

first_name "Çalışanın adı"

Satır örnekleme sınırı

SQL deyimindeki WHERE yan tümcesini kullanarak veritabanından alınan satır sayısını sınırlayabilirsiniz. Bir WHERE yan tümcesi ekleyerek, karşılanması gereken bir koşul belirtebilirsiniz ve yalnızca koşulla eşleşen satırlar döndürülür.

WHERE yan tümcesini kullanırken:

    WHERE yan tümcesi, SQL deyimi sözdizimindeki FROM yan tümcesini hemen takip eder; WHERE yan tümcesi, WHERE anahtar sözcüğünden ve bir koşuldan (veya birden çok koşuldan) oluşur; WHERE yan tümcesinin koşulu, sorgu tarafından döndürülen satır sayısını sınırlayan değerlerin bir karşılaştırmasını belirtir.

Tabloları birleştirme

Bazen birkaç tablodan veri görüntülemek gerekli hale gelir. Bunu yapmak için, SELECT ifadesinin FROM yan tümcesi, verilerin alınacağı tablo adlarının bir listesini belirtir. Bilgiler birden fazla tablodan geliyorsa tablolar birleştirilir.


Örneğin, ÇALIŞANLAR tablosunda DEPARTMENT_ID sütunu, çalışanın departman numarasını temsil eder. DEPARTMENTS tablosunun bir DEPARTMENT_ID sütununun yanı sıra bir DEPARTMENT_NAME sütunu vardır. DEPARTMENT_ID sütununu kullanarak ÇALIŞANLAR ve DEPARTMENTS tablolarındaki verileri birleştirebilir ve çalışan adlarını ve departman adlarını gösterecek bir rapor oluşturabilirsiniz.

Dahili tablo birleşimleri

Bir iç birleşim, ortak bir alana veya ortak alanların birleşimine dayalı olarak ilgili tabloların sütunlarını birleştirir. Bu birleştirme ile sonuç kümesi, başka bir tabloda eşleşmeyen tablolardan hiçbirindeki satırları içermez. İç birleştirmelerde birleştirme koşuluna kesinlikle uyulmalıdır.

doğal birlik

Doğal birleştirme, bir tablodaki bir sütundaki bir değer, ikinci tablodaki başka bir sütundaki bir değerle doğrudan eşleştiğinde, iki tablodaki verileri görüntülemenize olanak tanır. İki tablo, aynı adlara ve veri türlerine sahip bir veya daha fazla sütun içeriyorsa, doğal birleşim, eşleşen tüm sütunlarda aynı değerlere sahip iki tablodaki tüm satırları döndürür. Genellikle bu tür bir birleştirme, bir birincil anahtar ve yabancı anahtar sütunları içerir.

Sözdizimi

Örnek vermek:

SEÇ çalışan_kimliği, soyadı, ad_adı, departman_kimliği,

departman_adı, manager_id

Çalışanlardan DOĞAL KATILIM departmanlarından

USING deyimi ile iki tabloyu birleştirme

USING ifadesi, iki tablo arasında birleştirmek için kullanılacak sütunları belirtmenize olanak tanır. Sütun adları her iki tablo için de aynı olmalı ve uyumlu veri türlerinden olmalıdır. Tablolarınız isimleri eşleşen birden fazla sütun içeriyorsa ve tabloları birleştirmek istediğiniz sütunun adını açıkça tanımlamanız gerekiyorsa KULLANIM deyimini kullanın.


Sözdizimi


Sütun tanımlaması ile tabloları birleştirin. AÇIK ifadesi

ON ifadesi, iki tablo için bir birleştirme koşulu veya bir tablo için kendi kendine birleştirme koşulu belirtmek için kullanılır. ON ifadesi, farklı sütun adları için bir birleştirme koşulu yazmanıza izin verir, ancak bu sütunların veri türleri eşleşmelidir.

Sözdizimi

FROM çalışanlardan JOIN job_history

Ek Birleştirme Koşullarının Uygulanması

Bazı ek koşulların karşılanması için genellikle iki tablodaki verileri birleştirmek gerekir. Örneğin sadece kimliği 149 olan çalışanın ÇALIŞANLAR ve DEPARTMANLAR tablolarına katılma sonucunu göstermek istediğinizi varsayalım. ON operatörüne daha fazla koşul eklemek için AND operatörü ekleyebilirsiniz. Tablo satırlarını önceden seçmek için ek koşullar uygulamak için WHERE yan tümcesini de kullanabilirsiniz.

AND operatörünü kullanma

ve e. manager_id = 149

WHERE yan tümcesini kullanma

SEÇ e. çalışan_kimliği e. soyadı e. departman_kimliği,


D. departman_kimliği, d. location_id

Çalışanlardan e departmanlara KATILIN d

AÇIK (e.department_id = d.department_id)

NEREDE e. manager_id = 149

Tablo takma adları

Örnekler, tablo adlarını tanımlamak için takma adların nasıl kullanıldığını gösterir. FROM yan tümcesinde, tablo adından sonra kısaltma görünür. Bu kısaltılmış isme takma ad denir. FROM yan tümcesinde bir takma ad oluşturulduktan sonra, SELECT yan tümcesinin herhangi bir bölümünde kullanılabilir.

Birden Fazla Tabloya Katılma

Birden çok tabloyu birleştirmek, gerekli bilgiler ikiden fazla tabloya yayıldığında kullanılır. Üç yollu birleştirme - üç tabloyu birleştirme buna bir örnek olabilir. Çalışanlar için çalışanları, astlarını ve departman adlarını bulmanın gerekli olduğunu varsayalım. Bu, üç tabloya erişim gerektirir: - ÇALIŞANLAR, BAĞIMLILAR ve BÖLÜMLER. Tutarlı bilgi elde etmek için gerektiği kadar tabloyu birleştirmek mümkündür.

Sözdizimi

FROM yan tümcesi birleştirilecek tabloları belirtmelidir.

Örnek vermek

SEÇ e. soyadı, d. ad_adı, w. Bölüm Adı
çalışanlardan e

JOIN bağımlıları d

AÇIK d. göreceli_kimlik = e. Çalışan kimliği

KATIL departmanları

AÇIK departman_kimliği = e. departman_kimliği

Kendi kendine birleştirme tabloları

ON ifadesi, farklı adlara sahip sütunları birleştirmek için de kullanılabilir (aynı tabloda veya başka bir tabloda). Birleştirilecek farklı adlara sahip sütunlar aynı tabloda bulunuyorsa, tablolar kendiliğinden birleşir. Örneğin, EMPLOYEE_ID ve MANAGER_ID sütunlarına dayalı olarak EMPLOYEES tablosuna kendi kendinize katılabilirsiniz.

Tabloların dış birleşimleri

Dış birleşim ayrıca, ortak bir alana veya ortak alanların birleşimine dayalı olarak ilgili tabloların satırlarını birleştirir. Ancak sonuç kümesi, başka bir tabloda eşleşmeleri olmasa bile tablolardan birindeki satırları içerir. Dış birleşimlerde, birleştirme koşulu kesinlikle gözetilmez. Tablolardan biri zorunludur - sonuç kümesi tüm satırlarını içerecektir.

Sözdizimi

LEFT, sol dış birleşimdir. tablo1'in gerekli bir tablo olduğunu (sonuç kümesi tüm satırlarını içerecektir) ve tablo2'nin isteğe bağlı olduğunu belirtir. Tablo1'deki tablo2'de eşleşmeyen satırlar için NULL döndürülür.

SAĞ, sağ dış birleşimdir. Zorunlu tablo tablo2, tablo1 isteğe bağlı.

FULL, tam bir dış birleşimdir. Çift yönlü bir dış birleşimdir. Ortaya çıkan set şunları içerir:

    tüm iç tablo birleştirme satırları; tablo1'de tablo2'de eşleşmeyen satırlar; tablo2'de tablo1'de eşleşmeyen satırlar.

OUTER, isteğe bağlı bir anahtar sözcüktür. Bir dış birleştirmenin devam ettiğini gösterir.

Çalışan SEÇ.*, job_history.*

FROM çalışanlardan SOL JOIN job_history
ON çalışanları. kiralama_tarihi = iş_tarihi. Başlangıç ​​tarihi


Grup işlemleri

Grup işlemleri birden çok satırı işler ve bir genelleştirilmiş sonuç döndürür. Aslında, veritabanından döndürülen bilgileri şu veya bu şekilde birleştirmenize izin verirler. Grup işlemlerini gerçekleştirmek için Oracle, genel işlevler ve gruplama talimatları sağlar (GROUP BY, HAVING ve diğerleri).

Çoğu genel işlevin sözdizimi şöyledir:

jenerik_fonksiyon(ifade)

Generalizing_function - genelleştirme işlevinin adını belirtir: COUNT (sayım), AVG (ortalama değer), MAX (maksimum değer), MIN (minimum değer), STDDEV (standart standart sapma), SUM (toplam), VARIANCE (istatistiksel).

DISTINCT - genelleme işlevinin yalnızca ifadenin tekrarlanmayan değerlerini dikkate alması gerektiğini belirtir.

ALL - genelleştirme işlevinin, kopyalar dahil olmak üzere ifadenin tüm değerlerini dikkate alması gerektiğini belirtir. Varsayılan, TÜMÜNÜ kullanmaktır.

İfade - Özetlenecek sütunu veya başka bir ifadeyi belirtir.

Genel işlevlerle ifade için NULL değerler yok sayılır ve sonuca dahil edilmez.

Çalışanlar'dan MAKS(maaş) öğesini seçin - Tüm ÇALIŞANLAR tablosunda maaş sütunu için maksimum değeri bulun.

Bölgelerden sayı(*) seç - BÖLGELER tablosundaki kayıt sayısını hesaplar.

GROUP BY deyimi

Özet işlevleriyle birlikte kullanılır, sonuç kümesini birden çok gruba böler ve ardından her grup için bir satır özet bilgi döndürür. SELECT listesinde jenerik ve jenerik olmayanların bir karışımı varsa, SQL bir İşleme Göre Gruplamayı dikkate alır, bu nedenle jenerik olmayan ifadelerin Grup by yan tümcesinde de belirtilmesi gerekir. Bu yapılmazsa, Oracle bir hata mesajı verecektir.


GROUP BY yan tümcesinde grup (genelleştirme) işlevinin kullanılmasına izin verilmez.

Bazı satırlarda NULL değerleri içeren bir sütuna göre gruplama yapılırken NULL değerleri olan tüm satırlar tek bir gruba yerleştirilir ve çıktıda tek bir özet satırı olarak sunulur.

GROUP BY yan tümcesini kullanarak özet sonuçları elde etmek için, WHERE yan tümcesini kullanarak tablo kayıtlarını filtrelemek mümkündür. WHERE ve GROUP BY yan tümcelerini içeren bir SQL ifadesi yürütülürken, Oracle önce WHERE yan tümcesini uygular ve WHERE yan tümcesini karşılamayan satırları ayıklar. WHERE yan tümcesini karşılayan satırlar daha sonra GROUP BY yan tümcesine göre gruplandırılır. SQL sözdizimi, WHERE yan tümcesinin GROUP BY yan tümcesinden önce gelmesini gerektirir.

SAHİBİNDEN talimat

GROUP BY yan tümcesi tarafından oluşturulan gruplara filtre uygulamak için kullanılır. Sorgu GROUP BY ve HAVING içeriyorsa, sonuç kümesi yalnızca HAVING deyiminde belirtilen koşulu karşılayan grupları içerecektir. HAVING yan tümcesinin sözdizimi, WHERE yan tümcesinin sözdizimine benzer. Ancak HAVING ifadesi için bir sınırlama vardır. Bu koşul (HAVING yan tümcesinde belirtilir) yalnızca SELECT liste ifadeleri veya GROUP BY yan tümcesi için geçerli olabilir. HAVING, SELECT veya GROUP BY içinde olmayan bir şey içeriyorsa, bir hata mesajı verilecektir.

SELECT deyiminde GROUP BY ve HAVING deyimlerinin sırası önemli değildir.

Aynı sorguda WHERE ve HAVING deyimlerini kullanabilirsiniz. Bir talimatın diğerini nasıl etkilediğini anlamak önemlidir. Önce WHERE yan tümcesi yürütülür ve WHERE yan tümcesini karşılayan satırlar GROUP BY yan tümcesine iletilir. GROUP BY deyimi, filtrelenen verileri gruplara daraltır ve ardından HAVING deyimini karşılamayan grupları ortadan kaldırmak için gruplara HAVING deyimi uygulanır.


Genelleştirme işlevlerine ve gruplandırmaya sahip sorgular için sözdizimi

3.4. SQL sorguları oluşturmak ve yürütmek için araçlar

Oracle Database XE'de SQL deyimlerini kullanarak yazabilir ve çalıştırabilirsiniz. SQL aracı Komutlar (SQL sorgu düzenleyicisi) veya Sorgu Oluşturucu aracını (sorgu tasarımcısı) bir grafik arabirimle sorgular oluşturmak için kullanabilirsiniz (Şekil 1.7).

SQL Sorgu Düzenleyicisini Başlatma: SQL Komutları simgesine tıklayın.

SQL sorgusu girme ve yürütme: SQL Komutları sayfasında sorgu metinleri yazın -> yürütmeniz gereken sorguyu seçin -> Çalıştır düğmesine tıklayın. Sorgu yürütmenin sonucu pencerenin altındadır (Şekil 1.8).

Pirinç. 1.8. SQL Komutları sayfasında SQL sorguları girme ve yürütme

Oracle Database XE, SQL sorguları oluşturmak için kullanışlı bir grafik aracına sahiptir - Sorgu Oluşturucu. Sorgu Oluşturucuyu Başlatma: Sorgu Oluşturucu simgesine (Şekil 1.7) veya SQL Workshop açılır listesindeki aynı öğeye tıklandığında -> Sorgu Oluşturucu formunun bulunduğu bir tarayıcı sayfası açılır. Sol panelde mevcut tabloların bir listesi bulunur. Tablo adına tıklayın -> mevcut sütunların listesini içeren tablo formu sağ üst panele yerleştirilir. Tablo formunda, elde edilen kümeye verilerin dahil edilmesi gereken sütunları işaretleyin (Şekil 1.9).


Pirinç. 1.9. Sorgu Oluşturucu sayfasında SQL sorguları oluşturma

Sağ alt paneldeki sekmeler şunlardır:

Koşullar - tablonun sütunlarına uygulanan koşullar. Sütun takma adları ayarlamanıza, sütun verilerine göre satır seçme koşullarını girmenize, türü ve sıralama düzenini, sonucun görünürlüğünü, sütuna uygulanan işlevi, gruplama ihtiyacını belirlemenizi sağlar.

SQL - oluşturulan SQL sorgusunun metni.

Sonuçlar - SQL sorgusunun yürütülmesinin sonucu. Bunu elde etmek için Çalıştır düğmesine tıklayın.

Kaydedilmiş SQL - kaydedilmiş SQL sorguları. Sorguyu kaydetmek için Kaydet düğmesine tıklayın.

Sorgu oluşturucu, tablolara görsel olarak katılmanıza olanak tanır. İki tabloyu birleştirmek için yapmanız gerekenler: iki tablo seçin -> formlarında sonuç için sütunları işaretleyin -> imleci alt tablonun (ÜLKELER) bağlantılı sütununun üzerine getirin -> sağ fare düğmesine basın ve bağlantı görüntüsünü sürükleyin ana tablonun bağlantılı sütununa basılan düğme ile (BÖLGELER) ) (Şekil 1.10).

Pirinç. 1.10. Tabloları birleştirmek için SQL sorguları tasarlama

Fareyle bağlantı görüntüsünün üzerine gelirseniz, bağlantı koşuluyla birlikte bir araç ipucu görünür. Bir bağlantıya tıklamak bir açılır menü getirir - bağlantıyı kaldırın, sol veya sağ dış birleştirmeyi ayarlayın. Varsayılan olarak, bir ilişki tabloların iç birleşimini tanımlar.

3.5. Veritabanı nesneleri hakkında bilgi

Oracle, veritabanı nesneleri hakkındaki tüm bilgileri özel sözlük veri (veri sözlüğü). Sözlük, gerçek verilerin nasıl düzenlendiğinin açıklamalarını içerir. Sözlük, veritabanındaki diğer tablolar ve görünümler gibi sorgulanabilen tablolar ve görünümlerden oluşur. Bu görünümler, SYS adlı bir Oracle kullanıcısına aittir. user_* türündeki görünümler, geçerli kullanıcının olduğu nesneler hakkında bilgi içerir. Kullanıcı nesneleri hakkında bilgi almak için aşağıdaki görünümleri kullanabilirsiniz:

    User_tables - geçerli kullanıcının sahip olduğu ilişkisel tablolar; User_views - mevcut kullanıcının sahip olduğu görünümler; User_tab_comments - mevcut kullanıcıya ait tablolar için yorumlar; User_tab_columns - geçerli kullanıcının sahip olduğu tüm tabloların sütunları; User_col_comments - geçerli kullanıcının sahip olduğu tablo ve görünüm sütunları için yorumlar; User_indexes - geçerli kullanıcının tablo dizinleri; User_cons_columns - mevcut kullanıcının kısıtlamalarındaki sütunlar; User_constraints - mevcut kullanıcının tablolarındaki kısıtlamalar; User_triggers - Geçerli kullanıcının sahip olduğu veritabanı tetikleyicileri.

Oracle Database XE, veritabanı nesnelerini araştırmak ve raporlamak için araçlara sahiptir.

Veritabanı nesnesi keşif aracına erişim: Nesne Tarayıcı simgesi (Şekil 1.7) veya SQL Workshop açılır listesindeki ilgili öğe. Varsayılan olarak, tablolar listesine geçiş gerçekleşir (açılır listeden araştırma için başka bir veritabanı nesnesi türü seçilebilir). Ardından, belirli bir nesneyi seçtikten sonra özellikleri görüntülenir. BÖLÜMLER tablosunun özelliklerini görüntülemek için sayfanın görünümü (Tablo sekmesi - sütunların listesini ve özelliklerini gösterir) şekil 2'de gösterilmiştir. 1.11.

Pirinç. 1.11. Tablo Özellikleri Görüntüsü: Sütun Listesi

Model sekmesine giderseniz, veri modelini görebilirsiniz - incelenen tablonun diğer veritabanı tablolarıyla bağlantılarının görsel bir temsili (Şekil 1.12).


Şekil 1.12. Veri Modeli Eşleme: Tablo İlişkileri

Şekilde gösterilen veri modeli, LOCATIONS ve ÇALIŞANLAR tablolarının söz konusu DEPARTMANLAR tablosunun ebeveyni olduğunu göstermektedir. Bunlar, incelenen tablonun üstündeki modelde gösterilmektedir. DEPARTMENTS tablosunun kendisi JOB_HISTORY ve EMPLOYEES tablolarının ebeveynidir (DEPARTMENTS tablosunun altında bulunur). Üst öğe (incelenen çalışmayla ilişkili olarak) tabloları hakkında benzer bilgiler, Bağımlılıklar sekmesinde (Referanslar listesi) görülebilir.

Raporlara erişim: Utilites simgesi (Şekil 1.7) veya SQL Workshop açılır listesinin ilgili öğesi -> liste öğesi (veya simge) Nesne Raporları -> ilgilenilen parametreye göre liste öğesi. Örneğin, Tablo Raporları listesi için - sütunlar, yorumlar, kısıtlamalar vb. (Şekil 1.13).

Pirinç. 1.13. Nesne Raporları

Bu araçları kullanarak, veritabanında bulunan ana nesneler hakkında oldukça eksiksiz bilgi alabilirsiniz.


Güvenlik önlemleri

Çalışma zamanında ihtiyacınız olan:

    bilgisayar ekipmanını açma ve kapatma kurallarına uyun; laboratuvar kurulumu ile ilgili olmayan kabloları, konektörleri ve diğer ekipmanları bilgisayara bağlamayın; şebeke gerilimi açıkken bağlantı kablolarını çıkarmayın, bağlamayın veya dokunmayın. çeşitli cihazlar bilgisayar; ekipmanın çalışmasında bir arıza veya kuralların ihlali durumunda, laboratuvar çalışması başkanını bilgilendirin; ekipmanın çalışmasındaki arızaları kendi başınıza gidermeye çalışmayın; işin tamamlanmasından sonra, işyerini toplayın.

DİKKAT! Bir bilgisayarda çalışırken şunu hatırlamanız gerekir: her işyerine hayati tehlike oluşturan voltaj bağlanır. Bu nedenle, çalışma sırasında son derece dikkatli olmanız ve tüm güvenlik gereksinimlerine uymanız gerekir!

Görev
Bir internet tarayıcısı başlatın, örneğin, Google Chrome. Oracle Application Express ana sayfasını http://127.0.0.1:8080/apex/ adresinde başlatın. Veritabanında İK kullanıcısı olarak oturum açın. SQL Sorgu Düzenleyicisini kullanarak, çalışan adlarına göre sıralama talimatını kullanarak ÇALIŞANLAR tablosundan veri seçmek için bir sorgu oluşturun ve yürütün. SQL sorgu oluşturucusunu kullanarak, departman adına göre sıralama talimatını kullanarak DEPARTMENTS tablosundan veri seçmek için bir sorgu oluşturun ve yürütün. SQL sorgu düzenleyicisini kullanarak, Rusça sütun takma adlarını ve sıralamayı kullanarak ilgili tablolardan DEPARTMANLAR ve ÇALIŞANLAR'dan veri seçmek için bir sorgu oluşturun ve yürütün. Sorgu, tüm departmanların adlarını, bu departmanların yöneticilerinin tam adlarını, e-posta adreslerini /text/category/zarabotnaya_plata/" rel="bookmark">departmana göre maaşı, departmana göre ortalama maaşı döndürmelidir. Veritabanı nesneleri hakkında tam bilgi alın − tablolar, sütunlar, kısıtlamalar, görünümler, tüm yorumlar ve veri türleri dahil Bu bilgilere dayanarak, tüm tabloları ve aralarındaki ilişkileri gösterecek bir veri modeli oluşturun.

Talimatlar:

    Nesne Tarayıcı aracını kullanarak tablolar arasındaki ilişkiler hakkında genel bilgiler elde edin; detaylı bilgi bir sorgu kullanarak tablolar arasındaki ilişkiler hakkında bilgi edinin

uc'yi seçin. tablo_adı "Tablo",

uc. constraint_name "Harici anahtar kısıtlaması",

ucc1.column_name "Harici anahtar alanı",

ucc2.table_name "Bir tablo oluşturur",

uc. r_constraint_name "RT'de Ogre",

ucc2.column_name "RT'deki anahtar alan"

user_constraints uc'den

ucc1.constraint_name = uc üzerinde user_cons_columns ucc1'e katılın. kısıtlama_adı

ucc2.constraint_name = uc üzerinde user_cons_columns ucc2'ye katılın. r_constraint_name

nerede constraint_type="R";

    MS Word, MS Visio veya ERWin Data Modeller kullanarak veri modelini grafiksel bir biçimde sunun.

Raporun içeriği ve tasarımı için gereklilikler

Rapor şu tarihte tamamlanmalıdır: Metin düzeltici MS kelime. Rapor şunları içermelidir:

    Kısa teorik bilgi, Grafiksel veri modeli, Sorguda kullanılan her komutla ilgili yorumlarla birlikte tüm SQL sorgularının metinleri, Yürütülen tüm sorgular için verileri içeren sonuç tabloları, Yapılan çalışma hakkında sonuçlar.
sınav soruları

7.1. Oracle Database XE'nin amacı nedir?

7.2. Bir kullanıcı bir Oracle Database XE veritabanına nasıl bağlanır?

7.3. Hangi araçlar yapar Kullanıcı arayüzü SQL sorgularıyla çalışmak için Oracle Database XE veritabanı?

7.4. Oracle Database XE veritabanı kullanıcı arabirimi, veritabanı nesnelerini keşfetmek için hangi araçları sağlar?

7.5. SELECT ifadesinin sözdizimi nedir?

7.6. WHERE yan tümcesinin amacı nedir?

7.7. Tablo birleştirme türleri nelerdir?

7.8. İç ve dış tablo birleşimleri arasındaki fark nedir?

7.9. Grup işlemleri ne için kullanılır?

7.10. GROUP BY ve HAVING ifadeleri nasıl kullanılmalıdır?

Bu, bir veritabanı oluşturmaya ilişkin öğreticinin ikinci kısmıdır. Ders uygulamalıdır, derste ilk derste kurulan Oracle sunucusu kullanılacaktır. O halde başlayalım:

Veritabanını oluşturmak için Veritabanı Yapılandırma Yardımcısı (dbca) kullanılır. Çoğu yardımcı program gibi, bin dizininde bulunur. Oracle Sunucusu. Konsolda şunu yürütüyoruz:

[e-posta korumalı]: cd /u01/app/oracle/product/11.1.0/db_1/bin
[e-posta korumalı]:./dbca

lansman olacak grafik uygulamasıçalışmak için. Oracle, çeşitli yardımcı programları kullanmadan "elle" bir veritabanı oluşturmanıza izin verir, ancak bunun hakkında daha sonra konuşacağız.

İlk ekran, yardımcı programın başlatılması, amacı hakkında basitçe rapor verir. Hemen next diyerek ikinci adıma geçiyoruz.

İkinci adım, yapılacak eylemi seçmektir. Bilgisayarda başka veritabanları yoksa, bazı seçenekler kullanılamayacaktır. Örneğin, bir veritabanını silmek veya kurmak gibi. Şimdi yaratma ile ilgileniyoruz, bu yüzden "Veritabanı Oluştur" seçeneğini seçiyoruz ve devam ediyoruz.

Şimdi oluşturma sırasında kullanılacak bir veritabanı şablonu seçmemiz isteniyor. General, çoğu veritabanı için ortak bir şablondur. Veri Ambarı - verileri ve az sayıda işlemi depolamak için tasarlanmış bir veri ambarı. Özel Veritabanı - duruma bağlı olarak ihtiyaçlarınız için tamamen özelleştirilebilir veritabanı.
İşlemsel İşlemenin Genel Amacı'nı seçin ve devam edin.

Bu adım, Global Veritabanı Adını (Global Veritabanı Adı) ve SID'yi (Sistem Tanımlayıcısı) belirlemenizi ister. Genel olarak, genel ad, etki alanı adına sahip bir SID'dir. Sistem tanımlayıcısı, veritabanını benzersiz şekilde tanımlar. Uzunluğu 8 karakteri geçmemeli ve bir sayı ile başlamamalıdır. Veritabanım için "testdb" adını ve "testdb.all-oracle.ru" genel adını seçtim. Hadi devam edelim.

Oluşturulmakta olan veritabanına dahil edilecek seçenekleri belirtin. "Enterprise Manager'ı Yapılandır" olarak belirtilen "Yerel yönetim için Veritabanı Denetimini Yapılandır" seçeneği otomatik olarak işaretlenir. Izgara yapılandırdıysanız, yapılandırma farklı olacaktır. Izgara teknolojisi daha sonra tartışılacaktır.

Ayrıca, gerekirse, bildirimi şu şekilde etkinleştiririz: e-posta ve Kurtarma Alanının otomatik olarak yedeklenmesi. Test makinesinin mesaj göndermek için İnternet erişimi olmadığı ve yedeklemeye gerek olmadığı için bu seçenekleri işaretlemeden bıraktım. Dilerseniz bu seçenekleri veritabanınıza dahil edebilirsiniz. Bunu yapmak için gerekli bilgileri işaretleyin ve belirtin. E-posta bildirimi için SMTP sunucusu ve gönderilecek adres. İşletim sistemi düzeyinde yetkilendirme için yedekleme süresi ve kimlik bilgileri için. Hadi devam edelim.

Bu adım, yerleşik Oracle hesapları için parola sağlamanızı ister. Her hesap için ayrı şifre belirleyebilir veya "Tüm hesaplar için tek şifre kullan" seçeneğini belirleyebilirsiniz. Oracle 11g'den önce her şeyin büyük harfle yazıldığı ve şifre girişlerinin büyük/küçük harf duyarlı olmadığı unutulmamalıdır. 11g sürümünden itibaren, kayıt, güvenlik gereksinimleri açısından farklılık göstermeye başladı. ile uyumluluk için önceki sürümler Güvenlik seviyesini ayarlamak mümkündür.

Burada depolamayı seçiyoruz. Sunulan Dosya Sistemi (Dosya sistemi), Otomatik Depolama Yönetimi - ASM (Otomatik Depolama Yönetimi) veya Ham Cihazlar (tam anlamıyla ham cihazlar). Bizim durumumuzda, seçiyoruz dosya sistemi ve devam et. Diğer saklama yöntemlerinden daha sonra bahsedeceğiz.

Veritabanı dosyalarının konumunu belirtin. Tüm veritabanı dosyaları için ortak bir konum olan Oracle tarafından sunulan bir şablon arasından seçim yapabilir veya Oracle tarafından yönetilen dosyaları kullanabilirsiniz.

Flash Kurtarma Alanının konumunu ve boyutunu belirtin. Daha önce FRA için bir dizin oluşturduk ve şimdi ona giden yolu belirledik, boyut değişmeden kaldı.

Flash Recovery Area, 10g sürümünden beri kullanılabilen yeni bir seçenektir ve Otomatik Disk Tabanlı kurtarma adı verilen bir özelliğin temelidir. FRA - dosyaları depolamak ve yönetmek için disk alanının bir parçası. Veri dosyaları, yeniden günlükler ve kontrol dosyaları gibi diğer veritabanı bileşenlerinden tamamen ayrıdır. Flash Recovery Area, Oracle Recovery Manager (RMAN) yardımcı programı tarafından, Flash Recovery Area'da kaydedilen dosyalara dayalı olarak veritabanının kurtarılabilir olmasını sağlamak için kullanılır. Flash Recovery Area, veritabanı kurtarma sınıflarında daha ayrıntılı olarak ele alınacaktır.

Aynı ekranda, mevcut ORACLE_BASE ayarı da dahil olmak üzere Oracle dosya konumlarının özet raporunu görüntülemek için Dosya Konumu Değişkenleri... düğmesini tıklayabilirsiniz.

Bu adımda örneklerle şemalar kurmanız ve varsa betiklerinizden herhangi birini çalıştırmanız önerilir. Örnekleri yüklemek için belirtin ve devam edin. Daha sonraki derslerde onlara ihtiyacınız olacak.

Şimdi bellek ayarlarını, sunucuya bağlantı türünü, kodlamayı belirtmeniz önerilir. Şimdi sadece örnek bir veritabanı oluşturduğumuz ve kendimize ince ayar yapma görevi vermediğimiz için varsayılan değerleri bırakıyoruz. Bağlantı Modu sekmesinde, özel sunucu modu olan "Adanmış sunucu Modu"nu seçin. "Tüm Başlatma Parametreleri..." butonuna tıklayarak başlatma parametrelerini görüntüleyebilirsiniz. Bir tabloda gösterilecekler:

Burada parametreleri gerektiği gibi değiştirebiliriz. Hiçbir şey gerekmiyorsa, pencereyi kapatın ve devam edin.

Güvenlik ayarları. 11g sürümünden önceki ayarları veya 11g sürümünden sonra tanıtılan yeni ayarları seçmeniz istenir. Kullanıcı için temel fark, büyük/küçük harf duyarlılığıdır. Yeni ayarları kullanmayı ve daha fazla ilerlemeyi belirtiyoruz.

Bu aşamada, otomatik bakım görevlerinin etkinleştirilmesi önerilmektedir. Örneğin, istatistik toplamak. Devre dışı bırakın ve devam edin.

Veri dosyalarının, günlük dosyalarının, kontrol dosyalarının konumunu belirtin. Her şey uygunsa, devam edin.

Son adım, veritabanının oluşturulmasını tamamlamaktır. Ayrıca, oluşturulan veritabanını şablon olarak kaydedebilirseniz. Bu, belirli bir durum için bir dizi ayar içeren belirli bir veritabanı oluşturduysanız ve gelecekte genellikle bir şablona göre veritabanları oluşturacaksanız geçerlidir.

"Son" düğmesine tıklayın ve veritabanı oluşturma işlemi başlayacaktır. Bu, oluşturulan veritabanının ayarlarına ve bilgisayarın gücüne bağlı olarak on dakikadan bir saate kadar biraz zaman alacaktır.

Veritabanı oluşturma işlemi başarıyla tamamlandıysa, aşağıdaki pencere görünecektir:

İşte veritabanının ana parametreleri, Enterprise Manager ile çalışmak için bir bağlantı. Ayrıca, "Şifre Yönetimi ..." düğmesine tıklayarak yerleşik hesaplar için şifreler belirleyebilir, kullanıcı kilitlerini ayarlayabilir veya kaldırabilirsiniz.

Parolaları değiştirdikten sonra varsa "Çıkış"a tıklayın, bu veri tabanının oluşturulmasını tamamlar.

Bu, dersi sonlandırıyor. Dördüncü derste, bir veritabanı örneğini nasıl durduracağımızı ve başlatacağımızı, dinleyicinin ne olduğunu öğreneceğiz, sqlplus'tan bir veritabanına nasıl bağlanılacağını öğreneceğiz.

Bir Linux sistem yöneticisi veya geliştiricisiyseniz, ortamınızda çalışabilen bir Oracle veritabanını yönetmeniz gereken bir zaman gelir.

Bu durumda, Oracle'ın bazı temel DBA etkinliklerini anlamak önemlidir. Bu eğitimde size komut satırından bir Oracle veritabanının nasıl oluşturulacağını göstereceğiz.

Oracle yazılımını kurduğunuzda, size kullanıcı arayüzünden yeni bir veritabanı oluşturma seçeneği sunacaktır.

Yeni bir veritabanı oluşturmaya değil, yalnızca yüklemeye karar verirseniz yazılım Oracle, daha sonra veritabanını ayrı olarak oluşturabilirsiniz.

İçin Oracle veritabanı oluştur , iki seçeneğiniz var:

  1. Veritabanı Yapılandırma Yardımcısı'nı (DBCA) kullanın ve GUI'yi kullanarak yeni bir veritabanı oluşturun. Oldukça düz ileri.
  2. Komut satırından yeni bir Oracle veritabanı oluşturmak için "Veritabanı Oluştur" komutunu kullanın. Bu yöntem, DBCA'yı çalıştırmak için sunucu konsoluna erişiminiz olmadığında kullanışlıdır. Veya sunucunuz doğru Xterm ayarlarına sahip değilse bu yöntemi kullanın.

1. Uygun Oracle ortam değişkenlerini ayarlama

Öncelikle sunucu üzerinde uygun ortam değişkenini doğru bir şekilde ayarlamalısınız.

Bu örnek, Oracle'ın dizine kurulu olduğunu varsayar. /u01/uygulama/oracle/ürün. Bu değeri ortamınıza uyacak şekilde değiştirin.

ORACLE_BASE'i dışa aktar=/u01/app/oracle dışa aktar ORACLE_HOME=/u01/app/oracle/product/11.2.0

Çoğu önemli parametre isme sahip olacak ORACLE_SID'dir yeni Oracle veritabanı oluşturmak istediğiniz kişi. Bu örnekte, yeni veritabanının adı aşağıda gösterildiği gibi "dev" olarak ayarlanmıştır.

ORACLE_SID=dev'i dışa aktar

2. ini-initdev.ora dosyasını oluşturun

Ardından yeni veritabanı için bir ora.ini dosyası oluşturun. Bu, yeni veritabanı için başlatma dosyasıdır.

Oracle sürümünüze bağlı olarak, $ORACLE_HOME içinde örnek bir init.ora dosyası görebilirsiniz. Varsa baz olarak kullanın ve değerleri ona göre düzenleyin.

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

Not:

Yukarıda gösterildiği gibi, yeni veritabanı için başlatma dosyası aşağıdaki biçimde olmalıdır: INIT (ORACLE_SID) .ora - Bu durumda, dosya adı şöyle olacaktır: initdev.ora

$ORACLE_HOME/DBS'nizde varsayılan init.ora şablonunu görmüyorsanız, aşağıdaki örneği kullanın.

*.db_name="dev" *.db_domain="" *.audit_file_dest="/u01/app/oracle/admin/dev/adump" *.audit_trail="db" *.uyumlu="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="ÖZEL" *.undo_tablespace="UNDOTS"

Söz konusu dosyada birkaç noktanın dikkate alınması gerekmektedir:

  • Belirtilen dosyada, önceki adımda ORACLE_SID kümesinin adına db_name ayarladığınızdan emin olun.
  • Adı ne olursa olsun undo_tablespace, CREATE DATABASE komutunda tam adı kullanmamız gerektiğini belirtiyoruz.
  • Sisteminize göre dizinlerin konumunu uygun şekilde değiştirin. Yukarıdaki dizindeki "dev"i ORACLE_SID adınızla değiştirmeyi unutmayın.

3. Serve Parametre dosyası (spfile) oluşturun

SP dosyası, sunucu parametre dosyası anlamına gelir. Sp dosyasının aksine, dosya ikili olarak başlatılır ve SPFILE'ı manuel olarak düzenleyemezsiniz.

sp dosyası, ini dosyasından oluşturulur. Sp dosyasının avantajı, veritabanı ALTER SYSTEM komutunu kullanarak başladıktan sonra başlatma parametrelerinin değerini değiştirebilmenizdir.

Yani herhangi bir parametre değerini değiştirmek için "ALTER SYSTEM" komutunu kullanırken, bunları sp dosyasına kaydeder.

Ardından Oracle veritabanını başlatırken parametre değeri için önce sp dosyasını arar. Sp dosyasını bulamazsa, ini dosyasına dayalı metni kullanır.

Yeni veritabanımız için bir sp dosyası oluşturmak için aşağıdaki komutu kullanın.

İlk kullanım sqlplus komutu ve yeni bir veritabanı oluşturacağımız yerden bir SYSDBA Oracle istemi alın.

$ sqlplus / as sysdba Boş bir örneğe bağlandı. SQL>

Yukarıdaki çıktıda fark ederseniz, "Boşta bir örneğe bağlandı" yazıyor. Bunun nedeni, mevcut ORACLE_SID'imizin henüz oluşturmadığımız yeni bir veritabanı olan dev olarak ayarlanmış olmasıdır.

Bu nedenle ilk adım, ini dosyasına dayalı yeni bir sp dosyası oluşturmaktır. spfile, ini dosyası anlamına gelir. Aşağıdaki komut yeni bir spfile oluşturacaktır.

SQL> PFILE'DAN SPFILE OLUŞTUR; Dosya oluşturuldu.

Aşağıda gördüğünüz gibi komut otomatik olarak spfiledev.ora'yı oluşturmuştur.

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

4. Boşta Örneği Çalıştırın

Veritabanını oluşturmadan önce STARTUP NOMOUNT komutu ile "dev" veritabanı için bir instance başlatmalıyız. Tahmin edebileceğiniz gibi, bu komut veritabanına bağlanmayacak. "dev" adlı yeni bir boş basit ORACLE_SID örneğini başlatmak kolaydır.

SQL> BAŞLANGIÇ NOMOUNT; ORACLE örneği başlatıldı. Toplam Sistem Küresel Alanı 1258291200 bayt Sabit Boyut 1261564 bayt Değişken Boyut 520093700 bayt Veritabanı Tamponları 721420288 bayt Yeniden Tamponlar 15515648 bayt

Yukarıdaki komutta, spfile(ORACLE_SID).ora adlı varsayılan spfile dosyasını $ORACLE_HOME/dbs varsayılan spfile konumundan okuyacaktır. Spfile mevcut değilse, varsayılan olarak init(ORACLE_SID).ora dosya başlatma şeklinde olacaktır.

Herhangi bir nedenle, spfile'nizin konumunu belirtmek isterseniz, aşağıda gösterildiği gibi spfile parametresini ileterek bunu yapabilirsiniz.

SQL> BAŞLANGIÇ NOMOUNT PFILE=/tmp/initdev.ora

Ayrıca, spfile veya başlatma dosyası varsayılan konumda değilse, aşağıdaki ORA-01078 ve LRM-00109'u alabilirsiniz.

SQL> BAŞLANGIÇ NOMOUNT ORA-01078: LRM-00109 sistem parametrelerinin işlenmesinde hata: "/u01/app/oracle/product/11.2.0/dbs/initdev.ora" parametre dosyası açılamadı

5. Yeni Bir Oracle Veritabanı Oluşturun

Boş bir veritabanı oluşturmak için aşağıdaki CREATE DATABASE komutunu kullanın.

SQL> CREATE DATABASE dev KULLANICI SİSTEMİ TANIMLANAN DevSysPass KULLANICI SİSTEMİ TARAFINDAN TANIMLANAN LOGFILE GRUBU 1 ("/home/oracle/u02/oradata/dev/redomed_01.log") BOYUT 50M, GRUP 2 ("/home/oracle/u02/" oradata/dev/redomed_02.log") SIZE 50M, MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 KARAKTER SET US7ASCII ULUSAL KARAKTER SET AL16UTF16 DATAFILE "/home/oracle/u02/oradata/dev/system01.df/DATAFILES" /oracle/u02/oradata/dev/sysaux01.dbf" BOYUTU 100M VARSAYILAN TABLO ALANI KULLANICILARININ VERİ DOSYASINI YENİDEN KULLANIN "/home/oracle/u02/oradata/dev/users01.dbf" BOYUTU 50M MAKSİMUM BOYUTTA OTOMATİK UZAKLAŞTIRMAYI SINIRSIZ SINIRSIZ DEFAULT "/ home/oracle/u02/oradata/dev/tempts01.dbf" BOYUTU 30M TABLESPACE GERİ AL DATAFILE GERİ AL "/home/oracle/u02/oradata/dev/undots01.dbf" BOYUTU 100M OTOMATİK UZATILMI MAKS BOYUTA SINIRSIZCA YENİDEN KULLANIN;

Yukarıdaki komutta:

  • Veritabanı oluştur komutu, "dev" adlı bir Oracle veritabanı oluşturacaktır.
  • 2. satırda belirtilen şifre SYS kullanıcısına atanacaktır.
  • 3. satırda belirtilen şifre SİSTEM kullanıcısına atanacaktır.
  • Her biri 100MB boyutunda iki tekrarlanan günlük oluşturuyoruz.
  • MAXLOGFILES - Maksimum günlük dosyası sayısı 5 olarak ayarlandı
  • MAXDATAFILES - Bu, bu veritabanı için oluşturulabilecek maksimum Oracle veri dosyası sayısını gösterir.
  • DATAFILE - SYSTEM tablosunda kullanılacak veri dosyasını gösterir.
  • SYSAUX DATAFILE - Bu, veri dosyasının SYSAUX tablo alanında kullanılacağını gösterir.
  • Bu veritabanı için varsayılan tablo alanı USERS olarak ayarlanmıştır.
  • Geçici tablo alanı varsayılan olarak TEMPTS olarak ayarlanmıştır.
  • Tablo alanını geri al, UNDOTS olarak ayarlandı

Not:

Başlatma dosyasındaki DB_CREATE_FILE_DEST'i bir dizin konumuna ayarlarsanız, tüm veri dosyaları için tam konumu ve dosya adlarını belirtmeniz gerekmez, Oracle bunu sizin için halleder.

Örneğin, bunu initdev.ora dosyasında belirttiyseniz.

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

Bu durumda CREATE DATBASE komutunuzu aşağıda gösterildiği gibi sadeleştirebilirsiniz.

SQL> CREATE DATABASE dev KULLANICI SİSTEMİ DevSysPass TARAFINDAN TANIMLANAN KULLANICI SİSTEMİ DevSystemPass TARAFINDAN TANIMLANAN MAXLOGFILES 5 MAXLOGHISTORY 10 MAXDATAFILES 50 KARAKTER SET US7ASCII ULUSAL KARAKTER AYARI AL16UTF16 DEFAULT DEFAULT DEFAULT SPACUL TABLESPACE

Yukarıdaki komutlar, DB_CREATE_FILE_DEST dizininde belirtilen konuma göre tüm tablo alanları (geri al, geçici vb.) için gereken uygun veri dosyalarını oluşturacaktır.

6. Bir Görünüm Verileri Sözlüğü Oluşturun

Son adım olarak, katalog.sql ve catproc.sql'yi çalıştırın. dizin betiği, tüm kelime tablolarını, performansla ilgili görünümleri, gerekli genel eşanlamlıları oluşturacaktır. Ayrıca, oluşturulmuş tüm eş anlamlılara uygun erişim sağlayacaktır. catproc komut dosyası, PL/SQL işlevi için gerekli olan tüm komut dosyalarını yürütür.

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

Yukarıdaki komutlardan kısmi çıktı.

SQL>@?/rdbms/admin/catalog.sql; DOC>############################################## ###################### DOC>########################## ########################################## DOC> Aşağıdaki ifade "ORA-01722: geçersiz sayı" DOC> hatası ve kullanıcı SYS değilse SQLPLUS oturumunu sonlandırın. DOC> AS SYSDBA ile bağlantıyı kesin ve yeniden bağlanın. DOC>############################################## ###################### DOC>########################## ########################################## DOC># satır seçilmedi paket yaratıldı. paket gövdesi oluşturuldu. .. .. Eşanlamlı oluşturuldu. Grant başarılı oldu. PL/SQL prosedürü başarıyla tamamlandı. SQL> @?/rdbms/admin/catproc.sql .. .. Yorum oluşturuldu. Eşanlamlı oluşturuldu. Grant başarılı oldu. PL/SQL prosedürü başarıyla tamamlandı.

İlgileniyorsanız, tam olarak ne yaptığını görmek için catproc dizinine ve komut dosyasına bakabilirsiniz.

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

7. Muayene - Tamamlama ve devreye alma

Son olarak, bu yeni veritabanında her şeyin beklendiği gibi çalıştığından emin olmak için düzenli kapatmalar ve başlatmalar gerçekleştirin.

$ sqlplus / as sysdba SQL> HEMEN KAPAT; veritabanı kapatıldı. veritabanı kaldırıldı. ORACLE örneği kapatıldı. SQL> BAŞLANGIÇ; ORACLE örneği başlatıldı. Toplam Sistem Küresel Alanı 1234563200 bayt Sabit Boyut 1262454 bayt Değişken Boyut 522935700 bayt Veritabanı Arabellekleri 720583588 bayt Yeniden Tamponlar 12946358 bayt Veritabanına monte edildi.