Veritabanı Tasarımı. Tablo Oluşturma

Benzer belgeler
Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Veritabanı Tasarımı. Tablo Değiştirme

Veritabanı Tasarımı. İndeksler ve Eşanlamlar

Bölüm 4: DDL Veri Tanımlama Dili

Veritabanı Tasarımı. SQL Deyimi Anatomisi

Veritabanı Tasarımı. Veritabanı Hareketleri

Veritabanı Tasarımı. Seriler ile Çalışma

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

SQL e Giriş. Uzm. Murat YAZICI

VERİTABANI Veritabanı Yönetimi

Veritabanı Tasarımı. NOT NULL ve UNIQUE Kısıtlamaları Tanımlama

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

SQL Komutları (2) Uzm. Murat YAZICI

Veritabanı Tasarımı. Birincil Anahtar, İkincil Anahtar ve Kontrol Kısıtlamaları

Veri Tabanı Hafta Dersi

Veri Tabanı Yönetim Sistemleri Bölüm - 4

Oracle Database 11g: Introduction to SQL

SQL (Structured Query Language)

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SORGULAR. Öğr.Gör.Volkan Altıntaş

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Öğr. Gör. Murat KEÇECĠOĞLU

Veritabanı Tasarımı. Kartezyen Çarpım ve Join İşlemleri

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Veritabanı Tasarımı. Basit Eşleme: Dönüşüm İşlemi

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

VERİ TABANI YÖNETİM SİSTEMLERİ I

BİLİŞİM TEKNOLOJİLERİ

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Veritabanı Tasarımı. İlişkisel Veritabanı Kavramlarına Giriş

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

Veritabanı. SQL (Structured Query Language)

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

BÖLÜM -7: TABLOLARI OLUŞTURMA VE YÖNETME

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Tavsiye Edilen Önhazırlık Temel SQL Server 2000 bilgisi edinmek.

Veri Tabanı Tasarım ve Yönetimi

Basit SQL Sorguları Veritabanından verilerin SELECT cümleleri ile alınması işlemine sorgulama denir.

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

YAPISAL SORGULAMA DİLİ (SQL)

Veritabanı Tasarımı. Sütunlar, Karakterler ve Satırlar ile Çalışma

VERİTABANI. SQL (Structured Query Language)

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BMB202. Veritabanı Yönetimi Ders 5. İlişkisel Cebir ve SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

VERİ TABANI YÖNETİM SİSTEMLERİ-II

EBE-368 Veri Tabanı Yönetim Sistemleri İlişkisel Model (The Relational Model)

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

SQL'e Giriş. SELECT Deyimi. SQL Komutları. 1. DDL (Data Definition Language - Veri Tanımlama Dili)

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

SORGULAR VE ÇEŞİTLERİ II

VERİ TABANI YÖNETİM SİSTEMLERİ I

VERİ TABANI YÖNETİM SİSTEMLERİ

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

1 Temel Kavramlar. Veritabanı 1

Laboratuvar 6 TABLOLAR VE KISITLAR

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

Veritabanına Uygulanması

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

Yaptığımız web sitelerinin daha kullanışlı olması için veritabanı sistemleri ile bağlantı kurup ihtiyaca göre verileri okuyup yazmasını isteriz.

Tavsiye Edilen Önhazırlık Temel veritabanı kavramlar hakkında bilgi sahibi olmak. Hedefler Temel veritabanı güvenlik işlemlerini gerçekleştirebilmek

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

8 Aralık 2011 / Perşembe. Veri Tabanına Giriş

SQL Query and Table Application

KISITLAMALAR (CONSTRAINT)

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

Oracle da kullanılan veri tipleri:

ÜNİTE NESNE TABANLI PROGRAMLAMA I. Uzm. Orhan ÇELİKER VERİTABANI SORGULARI İÇİNDEKİLER HEDEFLER

VERİ TABANI ve YÖNETİMİ

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

1. Hafta MS SQL Server 2008 Kurulum ve Tanıtımı BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: Kurulum:

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

VERİ TABANI UYGULAMALARI

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

BÖLÜM- 8: DİĞER ŞEMA NESNELERİNİ OLUŞTURMA

Veritabanı. Ders 2 VERİTABANI

«BM364» Veritabanı Uygulamaları

MOBİL UYGULAMA GELİŞTİRME

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

İNTERNET PROGRAMCILIĞI DERSİ

Bağlı Dosya Oluşturma Uygulaması

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

SUNGURLU MESLEK YÜKSEKOKULU 5. T-SQL

Birden Çok Tabloda Sorgulama (Join)

Laboratuvar 2 Tek Kayıt Fonksiyonları

BLGM 354 DENEY 1 * GİRİŞ

Veritabanı Tasarımı. Büyük/Küçük Harf ve Karakter İşleme

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

BMB202. Veritabanı Yönetimi Ders 6. SQL. Erdinç Uzun NKÜ Çorlu Mühendislik Fakültesi Bilgisayar Mühendisliği Bölümü

Veri Tabanı Hafta Dersi

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

Transkript:

Veritabanı Tasarımı Tablo Oluşturma

Konular Ana veritabanı nesnelerini listeleme ve kategorize etme Bir tablo yapısını inceleme Şema nesnelerinin Oracle veritabanı tarafından nasıl kullanıldığını açıklama Sayı, tarih ve karakter veri tiplerinin her biri için örnek verme Her bir sütun için uygun veri tipi kullanarak tablo oluşturma Harici tabloların kullanımını açıklama Veritabanınesnelerinin isimlerini ve diğer niteliklerini elde etmek için veri sözlüğünü sorgulama 2

Amaç Bu zamana kadar veritabanındaki var olan tablolarda veriler üzerinde seçme, güncelleme, ekleme ve silme işlemlerini gerçekleştirdik. Veritabanıyöneticisi olarak tabloların nasıl oluşturulacağını da bilmelisiniz. Bu derste, hangi veritabanı nesnelerinin daha sık kullanıldığını, tablo yapısına nasıl bakılacağını ve yeni tabloların nasıl oluşturulacağını öğreneceksiniz. Tablolarınız milyonlarca satır ve yüzlerce sütun içeren tablolara göre küçük olacak fakat küçük tablo oluşturma, çok büyük bir tane oluşturma ile aynı SQL kodlamaları ve söözdizimini içerir. Ayrıca harici tabloları öğreneceksiniz ki bu tablolar normal Oracle tablolarına benzer fakat gerçek verileri harici düz bir dosyada tutulur ve ihtiyaç duyduğunuzda erişilir. 3

Veritabanı Şeması Nesneleri Oracle veritabanı bir çok farklı nesne içerir. Bu bölüm en çok kullanılan nesneleri ve Oracle sunucusunun veri sözlüğünde tutulan bilgileri SQL kodlamaları sonucu olarak çalışırken nasıl kullandığını içermektedir. Ana veritabanı nesneleri: Tablo Indeks Kısıtlama Görünüm Sıralama Eşanlam Bunlardan bazıları bağımsız iken diğerleri değildir. 4

Veritabanı Şeması Nesneleri Bazı nesneler veritabanında yer kaplarken bazıları kaplamaz. Veritabanınesneleri Bölütler olarak bilinen önemli bir bellek alanı kaplarlar. Tablolar ve indeksler bölütlere örnektir. Her bir satır için sütunlarda tutulan değerler önemli bir fiziksel disk alanı kaplar. Kısıtlama, Görünüm, Sıralama ve Eşanlam nesneleri sadece vertabanınında nesnelerin tanımı sırasında yer kaplar. Bunlarla eşleşen herhangi bir satır yoktur. 5

Veritabanı Şeması Nesneleri Veritabanıtüm veritabanı nesnelerinin tanımını veri sözlüğünde tutar. Bu tanımlamalar, veritabanın kendisinin yanı sıra tüm veritabanı kullanıcıları tarafından erişilebilir. Bir sorgudan hangi satırların döneceğini Oracle nasıl bilir? Örneğin SELECT cd_number, title FROM d_cds ifadesi yerine SELECT * FROM d_cds yazarsak Oracle hangi satırların döneceğini nasıl bilir? Veritabanısorguda kullanılan tablo tanımına bakar ve * ifadesini tüm sütun listesine dönüştürür ve size sonucu döndürür. 6

Veritabanı Şeması Nesneleri Veritabanıoluşturduğunuz tüm komutlar için veri sözlüğü kullanır. Hatta * kullanmadan sütun adlarını belirtseniz bile. Komutlarınızda belirttiğiniz tablo veritabanında var mı, sütun adları doğru mu, istediğiniz işlemi gerçekleştirmek için ayrıcalığınız var mı diye kontrol eder ve istekleri nasıl gerçekleştireceğini belirten çalışma planına karar vermek için veri sözlüğü kullanır. Veri sözlüğü tüm veritabanı kullanıcılar tarafından sorgulanabilir. Application Express ortamında buralara SQL Workshop> SQL Commands ya da SQL Workshop> Object Browser ara yüzleri ile erişilebilir. 7

Veritabanı Şeması Nesneleri SQL komut penceresinde sorgulamak istediğiniz görünümün adını bilmelisiniz ve Nesne Gözatma ekranında nesnelere tıklayarak özelliklerini görebilirsiniz. Yani D_CDS tablosunun detaylarını görmek için tıklamanız yeterlidir: 8

Veritabanı Şeması Nesneleri Bu örnekte Nesne Gözatma kullanılarak D_CDS tablosunun detaylarını, veri, indeks, kısıtlama, yetki ve diğer tablo detaylarını görebilirsiniz. SQL Komut penceresi kullanarak tablo açıklamasını sorabilirsiniz. 9

Adlandırma Kısıtları İlişkisel veritabanında tüm veriler tablolarda tutulur. Yeni bir tablo oluşturulurken tablo ve sütun adlandırması için şu kuralları kullanın: Harf ile başlamalı Karakter uzunluğu 1-30 arasında olmalı Sadece A-Z, a-z, 0-9, _(altçizgi), $ ve # içermeli Aynı kullanıcın sahip olduğu başka bir nesne adı ile tekrarlanmamalı Oracle sunucusu ayrılmış kelimesi olmamalı 10

Adlandırma Kısıtları Tablolar ve diğer veritabanı nesneleri için açıklayıcı isimler en iyisidir. Tablo öğrenciler hakkında bilgi tutuyorsa OGRENCILER olarak isimlendirilmeli, INSANLAR ya da COCUKLAR olarak değil. İsimler büyük küçük harfe duyarlı değildir. Örneğin OGRENCILER, OGrEnciler ve ogrenciler aynıdır. Tabloyu oluşturma SQL veri tanımlama dilinin (DDL) bir parçasıdır. Diğer DDL komutları (ALTER, DROP, RENAME ve TRUNCATE) tablodaki veri yapısını oluşturmak, değiştirmek ve kaldırmak için kullanılır. 11

Tablo Oluşturma Yeni bir tablo oluşturmak için, CREATE TABLE yetkiniz ve bunun için bellekte yeriniz olmalı. Veritabanı yöneticisi veri kontrol dili (DCL) komutları kullanarak bu yetkiyi kullanıcılara verir ve bellek alanı atar. Başka kullanıcılara ait tablolar sizin şemanızda değildir. Sizin şemanızda olmayan bir tabloya erişmek için tablo sahibinin adını tablo ön eki olarak kullanmanız gerekir: Bir tablodan seçim yapmak için yetkinizin verilmiş olması gerekir. 12

Tablo Oluşturma Sözdizimi Yeni bir tablo oluşturmak için aşağıdaki sözdizimi kullanılır: tablo: tablo adı sütun: sütun adı veritipi: sütun veri tip ve uzunluğu VARSAYILAN ifade: INSERT ifadesinde bir değer belirtilmemişse varsayılan bir değer belirtir. CREATE TABLE tablo (sütun veritipi [VARSAYILAN ifade], (sütun veritipi [VARSAYILAN ifade], ( [ ] ); 13

Tablo Oluşturma Sözdizimi Aşağıdaki örnekte CREATE TABLE komutu gösterilmektedir: 14

Alt Sorgu Kullanarak Tablo Oluşturma Tablo oluşturmak için ikinci yöntem alt sorgu deyimi uygulamaktır. Bu sayede hem tablo oluşturulacak hem de alt sorgudan dönen değerler eklenecektir. SQL komutlarında uygulama yapmak için tablo kopyası almak kolay bir yoldur. Dikkat edin, alt sorguda bu sütunlar için takma adlar oluşturmaya ihtiyaç duyarsınız. Alt sorgudan yeni tabloya sadece veri tipleri tanımlamaları ve NOT NULL kısıtlaması taşınır. Bunun nedeni yeni tablo farklı bir yapıda kullanılabilir var olan PK-FK ilişkisi aynı olmayabilir. 15

Alt Sorgu Kullanarak Tablo Oluşturma Sözdizimi: CREATE TABLE tabloadı [(sütun, sütun, )] AS altsorgu; Not: Sütun listesi sütun adları alt sorgudaki sütun adlarından farklı olmadığı sürece seçimliktir. 16

Alt Sorgu Kullanarak Tablo Oluşturma 17

Alt Sorgu Kullanarak Tablo Oluşturma Alt sorgu kullanarak tablo kopyalarken şu kurallar önemlidir: Sütun takma adları kullanılmadığı sürece yeni tablodaki sütun adları orijinal tablodakiler ile aynıdır. Yeni tablodaki sütun veri tipleri orijinal tablodakiler ile aynıdır. Sadece NOT NULL kısıtlaması kopyalanır, diğer kısıtlama tipleri yeni tabloda bulunmaz. 18

Harici Tablolar Oracle harici tablo tipini destekler. Harici tabloda veri satırları veritabanı dosyası içinde değil veritabanın haricinde tutulan düz dosyada bulunur. 19

Harici Tablolar Harici tablo, bir şirket tarafından kullanılan geçmiş verileri depolamak için veritabanlarının eski sürümlerini tutmak için kullanılır. İşletim sistemi seviyesinde bir kez yedeklenir 20

Harici Tablolar Bir şirketin yeni bir uygulama ve veritabanı uygulaması olduğunda, eski sistemlerden verilerin çoğunu okuma yazma erişimi için alması gerekir. Ancak bazı veriler yaygın kullanıma sahip değildir. Bu nedenle, sadece okuma erişimi için erişilebilen veriler olabilir. Bu veriler harici tabloda tutulanlar olabilir. Oracle açısından bir çok fayda sağlayabilir. Bu veriler bir kez yedeklenir, daha sonra değişmediği için gerek olmaz. İşletim sistemi seviyesinde bir kez yedeklenir 21

Harici Tablolar Harici tablo oluşturmak için sözdizimi normal tablo oluşturmaya sonundaki ekstra sözdizimi dışında çok benzerdir. Tablo oluşturmak için standart SQL komutlarında kullanılmayan yeni sözdizimini not alın. ORGANIZATION EXTERNAL Oracle a harici tablo oluşturmasını iletir. TYPE ORACLE_LOADER Oracle yükleyici tipi (Oracle ürünü) DEFAULT DIRECTORY def_dir1 dosya için klasör adı 22

Harici Tablolar ACCESS PARAMETERS dosyanın nasıl okunacağı RECORDS DELIMITED BY NEWLINE yeni satırın başladığının nasıl belirleneceği FIELDS alan adı ve veri tipi özellikleri LOCATION veriyi içeren gerçek dosyanın adı 23

Harici Tablolar 24

Veri Sözlüğü Oracle veritabanında iki farklı tablo mevcuttur: Kullanıcı Tabloları ve Veri Sözlüğü tablosu. Bu tablolara erişmek için select, insert, update ve delete gibi SQL sorguları oluşturabilirsiniz. Ayrıca Veri Sözlüğü tablolarındaki verileri seçebilirsiniz. 25

Veri Sözlüğü 1. Verinizi içeren kullanıcı tabloları D_CDS, D_SONGS, D_EVENTS, vs. 2. Veri sözlüğü tabloları DICTIONARY, USER_OBJECTS, USER_TABLES, USER_SEGMENTS, USER_INDEXES, vs. 26

Veri Sözlüğü Veri Sözlüğü tablolarının sahibi Oracle kullanıcısı olan ve SYS diye adlandırılan kullanıcıdır ve bu tablolarla çalışırken sadece SELECT komutu kullanılabilir. Bu tabloları kullanıcı erişimi kazalarından korumak için veritabanı kullanıcıları tarafından erişilebilen oluşturulmuş bir görünüm olan Veri Sözlüğü kullanılır. 27

Veri Sözlüğü Herhangi bir Oracle kullanıcısının Veri Sözlüüğü tabloları üzerinde ekleme, güncelleme ya da silme işlemine karşı işlemler tüm veritbanı bütünlüğü için engellenmiştir. 28

Veri Sözlüğü SQL Komut arayüzündeki Veri Sözlüğü görünümü kullanıldığında çalışacağınız sözlük görünümleri isimlerini bilmelisiniz. Oracle da bu basittir: nesne tipi olan xxx ifadesini sona ekleyerek USER_xxx ve ALL_xxx olarak tanımlarsınız. İndeksleri incelemek isterseniz basit şekilde select from USER_INDEXES, sıralamalar hakkında bilgi isterseniz tablo adı USER_SEQUENCES olur. Hatırlanması gereken iki önemli görünüm: DICTIONARY (DICT) ve DICT_COLUMNS tur. 29