Obje İsimlendirmede Önemli Kural Değişimi

Herkese Selam,

Kısa bir süre önce Oracle 12c Release 2  son kullanıcıların kullanımına açıldı. Nasıl temin edileceği ile ilgili detay bilgi için linki takip edebilirsiniz. Bu yazıda Oracle 12c Release 2 ile obje isimlendirme standartlarında yapılan önemli kural değişikliğinden bahsedeceğim umarım farkındalık anlamında faydalı olur.

Oracle DB üzerinde geliştirme yaparken sık yaşadığımız problemlerden biri de obje isimlendirme konusundaki 30 Byte (30 karakter olarak bilinir.) limit idi.  Obje isimleri, objeler hakkında en önemli fikri veren belirteçler olmasına rağmen çoğu zaman bu karakter limiti yüzünden yeterince açık obje isimleri veremeyebiliyorduk. Bu durum obje isimlendirme limiti Oracle’dan daha büyük olan veritabanlarından obje (tablo-view …) taşıma söz konusu olduğunda daha da eziyetli bir hal alabiliyordu.

Oracle 12c Release 2 ile beraber Objelere verilecek isim limiti çok büyük bir değişiklik ile  30 Byte’dan 128 Byte’a (1 byte’lık karakterler kullanmamız durumunda 128 karakter) çıkarıldı.

Şimdi Oracle 12c R2’den önce durumun ne olduğuna bir bakalım.

CREATE TABLE SATIS_YENI_DONUSUM_RAPORLARI_2016
(
   DONEM       NUMBER,
   URUN_KODU   NUMBER,
   TUTAR       NUMBER
);

ORA-00972: identifier is too long

CREATE TABLE SATIS_YENI
(
   DONEM_DONEM_DONEM_DONEM_DONEM_DONEM   NUMBER,
   URUN_KODU                             NUMBER,
   TUTAR                                 NUMBER
);

ORA-00972: identifier is too long

Görüldüğü üzere ilk örnekte tablo adını, ikinci örnekte ise kolon adını 30 karakter limitinin üzerinde verdim. İki durumda da aynı hatayı alarak işlemimi gerçekleştiremedim.

Şimdi yeni güncelleme ile neler yapabileceğimizi görelim.

CREATE TABLE SATIS_YENI_DONUSUM_RAPORLARI_2016
(
   DONEM_DONEM_DONEM_DONEM_DONEM_DONEM                           NUMBER,
   URUN_KODU_URUN_KODU_URUN_KODU_URUN_KODU_URUN_KODU_URUN_KODU   NUMBER,
   TUTAR_TUTAR_TUTAR_TUTAR_TUTAR_TUTAR                           NUMBER
);

Table SATIS_YENI_DONUSUM_RAPORLARI_2016 created.

SELECT * FROM SATIS_YENI_DONUSUM_RAPORLARI_2016;


CREATE VIEW VW_SATIS_YENI_DONUSUM_RAPORLARI_2016
AS
   SELECT 1 TEST FROM DUAL;

VIEW VW_SATIS_YENI_DONUSUM_RAPORLARI_2016 created.

Evet görüldüğü üzere objelerimin isimlerini verirken 128 karaktere kadar herhangi bir sorun yaşamayarak yeterli uzunlukta obje isimlendirmelerimi yapabildim.

Yapılan bu değişiklik ile, isimlendirme sebebiyle yaşadığımız problemlerin (hem migration projelerinde hemde anlaşılır obje isimleri vermede) ortadan kalktığını düşünüyorum.

Advertisements

About ... from Emrah METE

Bilgisayar Mühendisi
This entry was posted in Oracle, Uncategorized and tagged , , , , , , . Bookmark the permalink.

Leave a Reply

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 / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s