Veritabanında tablo oluştururken primary key’i oluşturmak zorunlu olmamasına karşın, ilişkisel veritabanı mantığına göre her tabloda olması primary key (birincil anahtar) olmalıdır. İlişkisel veritabanın babası sayılabilecek Edgar F. Codd, “The Relational Model for Database Management” kitabında bunu şu şekilde belirtmiştir:
“İlişkisel Veritabanı Yönetim Sistemi, her tablo için bir birincil anahtar tanımına ihtiyaç duyar.”
Ustanın sözüne uyarak, veritabanımızda primary key’i olmayan tabloları bulmak istersek, şu basit sorguyu kullanabiliriz:
SQL> SELECT t.owner || ‘.’ || t.table_name AS tablename
FROM SYS.dba_tables t
WHERE t.owner NOT IN (’SYS’, ‘SYSMAN’, ‘SYSTEM’, ‘XDB’, ‘WMSYS’, ‘OUTLN’, ‘DBSNMP’ )
AND NOT EXISTS (
SELECT 1
FROM SYS.dba_constraints c
WHERE c.owner = t.owner
AND c.table_name = t.table_name
AND c.constraint_type = ‘P’)
ORDER BY t.owner, t.table_name
Sorguda göreceğiniz üzere özellikle SYS, SYSTEM, SYSMAN gibi Oracle’a ait schemalarındaki tabloları listeden çıkardım, siz bu listeyi daha da geliştirip Oracle ait tüm internal schemaları sorguda filtreleyebilirsiniz veya sorguyu sadece sizin belirlediğiniz schemalar için çalıştırabilirsiniz:
SQL> SELECT t.owner || ‘.’ || t.table_name AS tablename
FROM SYS.dba_tables t
WHERE t.owner IN (’HR’, ‘OE’)
AND NOT EXISTS (
SELECT 1
FROM SYS.dba_constraints c
WHERE c.owner = t.owner
AND c.table_name = t.table_name
AND c.constraint_type = ‘P’)
ORDER BY t.owner, t.table_name
- Google Buzz ekleyin
- Delicious
- Digg this
- StumbleUpon
- MySpace
- Technorati

Yusuf Arslan
Oracle Open Source
1985 Tokat/Reşadiye doğumluyum.İlk-orta-lise hayatını Amasya/Suluova ilçesinde geçirdim.Sakarya Üniversitesi Bilgisayar Mühendisliği bölümünü bitirdikten sonra kariyerime Oracle,SAP alanlarında danışmanlık vermek üzere devam etmekteyim. Kullandığım,bildiğim teknolojiler ve diller; SAP BO Oracle BI Applications Oracle Data Mining Oracle BI Reports(http://www.iski.gov.tr/web/statik.aspx?KID=1000717) Oracle Data Integrator Oracle BI Publisher(XML Publisher) Oracle Database 10g Oracle Mapviewer PL/SQL,Java,Oracle JDeveloper,Oracle Forms-Reports,C# Data warehouse process optimization Database system implementation Using encoding for security systems Software development, test and deployment Presentation and communication skills Bu adreslerden de bana ulaşabilirsiniz, [email protected] https://datawarehouse.gen.tr/ http://www.arslanyusuf.blogspot.com/ http://yusufarslaneng.blogspot.com/ http://twitter.com/yusars http://tr.linkedin.com/pub/yusuf-arslan/27/35b/57bWebsite: arslanyusuf.blogspot.com/ E-posta: Bu e-Posta adresi istek dışı postalardan korunmaktadır, görüntülüyebilmek için JavaScript etkinleştirilmelidir
En Son Yusuf Arslan
Yorum yaz
Make sure you enter the (*) required information where indicated.
Basic HTML code is allowed.