oracle/veritabanı notları

oracle/veritabanı kavramları üzerine kısaca aldığım bazı notlar.

  • bir kullanıcı, diğer kullanıcıya, kendi tablolarını vs… kullanması için GRANT vermelidir.
  • 5 çeşit sql ifadesi vardır.
    • Query Statements (select)
    • Data Manipulation Statements (insert,update,delete)
    • Data Definition Language (create, alter, drop, rename, truncate)
    • Transaction Control (commit, rollback, savepoint)
    • Data Control Language (grant, revoke)
  • rowid, ilgili satırın fiziksel adresini gösterir. fakat tablo üzerinde update, delete vs… ile rowid değeri değişebilir.
  • iki çeşit join condition vardır:
    • equals
    • non-equals
  • join types ise 3′e ayrılır:
    • inner
    • outer
    • self joins
  • outer join’in bazı kısıtları vardır:
    • where condition’da sadece bir tarafa uygulanabilir. (yani “where t1.c1(+)=t2.c2(+)” ifadesi geçersizdir.)
    • in operatörü ile kullanılamaz.
    • or operatörü ile kullanılamaz.
  • SELECT cümleciğinde AGGREATE FUNCTION’da bulunmayan kolonlar GROUP BY’ da yer almalıdır.
  • IN yerine EXISTS kullanımı performans açısından daha iyidir.
  • SET operasyonlarını (UNION,UNION ALL, INTERSECT ve MINUS) kullanabilmek için kolon sayısının ve tiplerinin aynı olması gerekmektedir.
  • TRANSACTION şu durumlarda sona erer:
    • commit ya da rollback statement’ı ile
    • DDL statement’ı ile
    • DCL statement’ı ile
    • db’den disconnect olunduğunda.
    • DML statment’ı başarısız olursa, ilgili statement ifadesi için rollback ile.
  • ACID:
    • Atomicity: transactionlar “unit of work” olarak rollback ya da commit olur.
    • Consistency: db rollback ya da commit sonrası/öncesi her zaman tutarlı bir statede bulunmalıdır.
    • Isolation: transactionların, birbirlerini etkilemeden ayrı olarak çalışması.
    • Durability: transaction commitlendiğinde herhangi bir sorun oluşurursa (kesinti vs… gibi) db’nin bu değişikliği sisteme yansıtmasıdır.

 

Etiketler: , , ,

Yorum yapın

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Değiştir )

Twitter picture

You are commenting using your Twitter account. Log Out / Değiştir )

Facebook photo

You are commenting using your Facebook account. Log Out / Değiştir )

Connecting to %s


Follow

Get every new post delivered to your Inbox.