Bu forum çerez kullanır
Bu forum, kayıtlıysanız oturum açma bilgilerinizi ve değilseniz son ziyaretinizi saklamak için tanımlama bilgilerini kullanır. Çerezler, bilgisayarınızda depolanan küçük metin dokümanlardır; Bu forum tarafından oluşturulan çerezler yalnızca bu web sitesinde kullanılabilir ve güvenlik riski oluşturmaz. Bu forumdaki tanımlama bilgileri ayrıca okuduğunuz belirli konuları ve bunları en son ne zaman okuduğunuzu da izler. Lütfen bu çerezleri kabul edip etmediğinizi onaylayın.

Bu sorunun tekrar sorulmasını önlemek için, seçeneğinize bakılmaksızın tarayıcınızda bir çerez saklanacaktır. Altbilgideki bağlantıyı kullanarak istediğiniz zaman çerez ayarlarınızı değiştirebilirsiniz.

Hoşgeldin, Ziyaretçi
Sitemizden yararlanabilmek için kayıt olmalısınız.

Kullanıcı Adı
  

Şifreniz
  





Forumda Ara

(Gelişmiş Arama)

Forum İstatistikleri
» Toplam Üyeler 82,251
» Son Üye Larrypiogs
» Toplam Konular 18,407
» Toplam Yorumlar 79,457

Detaylı İstatistikler

Kimler Çevrimiçi
Şu anda 38 aktif kullanıcı var.
» (0 Üye - 37 Ziyaretçi)
Bing

Son Yazılanlar
Satılık HP 840 G2
Forum: İkinci El Satılık
Son Yorum: admin
26-07-2025, 10:50
» Yorum 1
» Okunma 396
AMD Ryzen 10000 Serisi Ze...
Forum: Kullanıcıların gönderdiği haberler
Son Yorum: admin
08-06-2025, 18:44
» Yorum 1
» Okunma 653
Samsung S24FE alınır mı?
Forum: Cep Telefonu
Son Yorum: admin
02-06-2025, 11:28
» Yorum 1
» Okunma 632
Google Pixel Cihazlarında...
Forum: Android ve Andorid Uygulamaları
Son Yorum: Aviatorder
26-05-2025, 18:52
» Yorum 1
» Okunma 3,169
Apple ios 19 ne zaman çık...
Forum: Donanım Haberleri
Son Yorum: admin
26-05-2025, 16:12
» Yorum 0
» Okunma 321
Linux Mint 22.2 Zara
Forum: Kullanıcıların gönderdiği haberler
Son Yorum: tekken29
26-05-2025, 11:50
» Yorum 1
» Okunma 389
Amiga Sensible World of S...
Forum: Commodore 64 Amiga Oyunları
Son Yorum: admin
19-05-2025, 00:43
» Yorum 0
» Okunma 503
Discord giremiyorum DNS o...
Forum: Online İletisim Araclari
Son Yorum: admin
19-05-2025, 00:33
» Yorum 1
» Okunma 498
Motor plakamı kaybettim d...
Forum: KONU DISI
Son Yorum: admin
17-05-2025, 19:23
» Yorum 3
» Okunma 609
Doğru tansiyon aleti nası...
Forum: Donanım İnceleme
Son Yorum: ademc
17-05-2025, 13:08
» Yorum 1
» Okunma 9,118

 
  Oracle'da Bazı Tablo Tipleri Hakkında KısaBilgiler
Yazar: kendo - 28-10-2006, 12:54 - Forum: Programlama - Yorum Yok

Veritabanı üzerinde tasarım yaparken verileri tutmak igin ihtiyaca yvnelik tablo geşidi kullanmalıdır.Oracle ın kullanıcıya sundugu tablo geşitlerinden sık karşımıza gıkabilecek olanları kısaca agıklayalım :

Heap Organized Tables : Create table. Þeklinde standart bir tablo oluşturdugunuzda siz aslında bir Heap Organized Tablo oluşturmuşunuz demektir.Varsayılan tablo türüdür.Veri tabloya girileceğinde ilk bulduğu uygun yere atılır.Veri silindiğinde agılan yere INSERT ya da UPDATE ile yeni veriler gelebilir.

Index Organized Tables : Tablonun indeks mantığına gvre tutulması esasına dayanır.Bu da verilerin kendi igersinde bir sıra ile tutulmasını sağlar.Heap organized tablodan farklı olarak ilk boş uygun yere değil primary key değerine gvre olması gereken sırada ve yerde tabloya atılır.Sorgulama işlemlerinde peformans sağlar.

Partitioned Tables :Tablonun kendi iginde pargalara ayrılmış hali (tablo iginde daha kügük tablolar) olarak düşünülebilir.4 tiptir :Range Partitioning ,List Partitioning ,Hash Partitioning ve Composite Partitioning.Veri hangi pargaya (partiton) girileceği bir "partition key" ile belirlenir.(NOT : Bu konuya ilerki günlerde detay olarak girilecektir.)

Clustered Tables : Aynı data blockları paylaşan ve sık kullanılan tablolar grubundan oluşan bir yapıdır aslında.(Cluster).Tablolar birbirine bir Cluster key ile bağlıdır ve bu anahtar B*Tree mantıgına gvre oluşturulur.

Hash Clustered Tables : B*Tree yerine hash mantığına gvre dataların tutulduğu clustered tablolardır.Veri aslında tutulan indekstir şeklinde bir yaklaşım yapılabilir.Vzellikle, eşitlik sorgulayan işlemlerde uygundur.

Nested Tables :Kabaca bir başka tablo iginde tutulan tablodur şeklinde ifade edilebilir. Aşağıdaki vrnek size bir fikir verecektir.

Alıntı:CREATE OR REPLACE TYPE CourseList AS TABLE OF VARCHAR2(64);

CREATE TABLE department (
name VARCHAR2(20),
director VARCHAR2(20),
office VARCHAR2(20),
courses CourseList)
NESTED TABLE courses STORE AS courses_tab;


Alıntı:INSERT INTO department(name, director, office, courses)
VALUES(′English′, ′Lynn Saunders′, ′Breakstone Hall 205′,
CourseList(
′Expository Writing′,
′Film and Literature′,
′Modern Science Fiction′,
′Discursive Writing′,
′Modern English Grammar′,
′Introduction to Shakespeare′,
′Modern Drama′,
′The Short Story′,
′The American Novel′Wink
);


ALINTIDIR

Bu konuyu yazdır

  Oracle da Geçici Tablolar (Temporary Tables)
Yazar: kendo - 28-10-2006, 12:51 - Forum: Programlama - Yorum Yok

Oracle klasik olan ve verilerin kalıcı olarak tutulduğu tablo tiplerinden farklı olarak, verilerin geçici olarak tutulabildiği tablo desteği de sağlamaktadır.Geçicilikten kasıt bu tabloların transaction ya da session bazlı olarak tutulmasıdır.Yani bu tür tablolardaki veriler ya transaction sonunda “COMMIT” edilene kadar ya da session sonlandırılana kadar tutulur.

Genel olarak incelemek gerekirse aşağıdaki noktalara değinmekte fayda var:

1) Geçici tablolar , geçici segmentleri (temporary segments) kullanırlar.Normal tablolardan farklı olarak, kendileri (ve oluşturulduysa indeks(ler)i) oluşturuldukları zaman değil INSERT (ya da CREATE TABLE AS SELECT) işleminden sonra veritabanında yer işgal etmeye başlarlar. Transaction bazlı ise transaction sonlandıgında (COMMIT), session bazlı ise session sonlandığında geçici segmentte yazılan bilgiler silinir.

2) Bu tabloları oluşturmak için “CREATE GLOBAL TEMPORARY TABLE” anahtar sözcükleri kullanılır.Temel olarak session bazlıdırlar.Bundan kasıt aynı geçici tabloyu kullanacak olan 2 farklı session diğer session’da kullanılan geçici tablodan bağımsızdır, veri o session’a özgüdür.(Bu sebeble DML lock mekanizmasına ihtiyaç yoktur.)Örneğin bir session’da geçici tabloya yapılan truncate işlemi diğer session’daki geçici tabloyu etkilemez.Diğer session’daki tablo truncate olmaz.Session herhangibir sekilde sonlandıgında geçici tablodaki bilgiler otomatik olarak silinir, kaybedilir.Her session kendi session’ındaki geçici tablo bilgilerini görür.

3) Geçici tablolar üzerinde yapılan herhangibir DML sonrasında veri değişikliği sebebi ile bir “redo log” üretimi olmaz.Bununla birlikte veri için “undo log” ve “undo log”’lar için de bir redo log üretimi olur.(Redo log: commit yapılmadan evvel tüm değişikliklerin tutulduğu yer, Undo : -rollback- ,verinin DML yapılmadan (değiştirilmeden) evvelki hali)

4) Geçici de olsalar bu tablolar üzerinde CREATE INDEX ile indeks oluşturmak mümkündür.Tabi bu indekste tablonun kendisi gibi geçicidir.Oluşturulan indeks bilgisi de session bazlıdır.Diğer session’lar bunu görmez.Hatta bu tablolar ile VIEW lar da oluşturulabilir , üzerlerinde trigger bile yazılabilir.Yine bu tabloların tanımları (verileri değil) EXPORT ve IMPORT yapılabilir.

5) Transaction bazlı geçici tablolar o transaction ya da bu transaction’ın alt transaction’ları tarafından ulaşılabilirdirler.Bununla birlikte aynı session içersindeki transctionlar gecici tabloyu “concurrent” olarak kullanamazlar.Örneğin bir transaction geçici tablota bir INSERT yaptığında bu transaction’ın alt transaction’ları artık bu geçici tabloyu kullanamazlar.Tersi durumda yani alt transaciton INSERT yaparsa , bu transaciton sonunda veri kaybolur ve ne kendisi ne de ana transaction tabloya ulaşamaz.

Kullanıma örnekler verecek olursak : transaction sürerken ara sonuçları tutabileciğimiz bir tablo olarak kullanılbileceği gibi ,çok fazla “redo” üretileceği ama bunu istemediğimiz durumlarda ya da bir rapor cekileceğinde referans tablo olarak uygun şekilde kullanılabilir.

sentaks

Transaction bazlı geçici tablo oluşturmak için (Her commit’te veriler silinir):
create global temporary table
table_name [ table definition ]
on commit delete rows;

Session bazlı geçici tablo oluşturmak için (veriler session sonuna kadar tutulur.)
create global temporary table
table_name [ table definition ]
on commit preserve rows;

ALINTIDIR

Bu konuyu yazdır

  Oracle Execution Plan, Optimizer ve çeşitleri
Yazar: kendo - 28-10-2006, 12:41 - Forum: Programlama - Yorum Yok

Optimizer ve Execution Plan :
Optimizer, bir SQL çalıştırıldığında veriye ulaşmak için gerekli en etkili yolu bulmaktan sorumludur.
En etkin yoldan kasıt Oracle’ın çıkaracağı ve “execution plan” olarak bilinen “çalış(tır)ma planı”’dır.Bir DML çalıştırıldığında verinin fiziksel olarak veritabanında nerede nasıl tutuldugundan , bunları kullanıcının kullanımına hazır hale getirmeye kadar olan geniş bir yelpazede işlemler ve adımlar gercekleşmektedir.Bunları sağlarken tek bir yöntem değil birden çok yöntem vardır.Toparlamak gerekirse “execution plan” , kullanıcı isteğinin karşılanması için gerekli adımlar toplamıdır.

Oracle hali hazırda 2 farklı optimizer kullanmaktadır :
1) Rule Based Optimizer(RBO)
2) Cost Based Optimizer(CBO)

Oracle, 10g sürümü ile birlikte RBO desteğini kesmiş ve kullanıcılardan CBO’a yönelik uygulama geliştirmesini beklemektedir.Zaten 10g sürümünde sadece CBO modları secilebilmektedir.Hangisi kullanılırsa kullanılsın bir “execution plan” oluşturulmaktadır.Þimdi bu optimizer çeşitlerine daha yakından bakalım.

1) Rule Based Optimizer(RBO) : Adı üstünde “execition plan” çıkarırken belli bir sırada tanımlı kural tablosundan faydalanır.Bu kural tablosu aşağıdaki şekildedir :

1: Single Row by Rowid
2: Single Row by Cluster Join
3: Single Row by Hash Cluster Key with Unique or Primary Key
4: Single Row by Unique or Primary Key
5: Clustered Join
6: Hash Cluster Key
7: Indexed Cluster Key
8: Composite Index
9: Single-Column Indexes
10: Bounded Range Search on Indexed Columns
11: Unbounded Range Search on Indexed Columns
12: Sort Merge Join
13: MAX or MIN of Indexed Column
14: ORDER BY on Indexed Column
15: Full Table Scan

Peki bu kural tablosu ve sırası nasıl kullanılıyor?Örneğin :

select * from theTable where id = 12345

şeklinde bir sorgumuz olsun.Ilgili veriyi getirmek için ilk akla gelen yöntemler ya varsa index üzerinden gidilmesi ya da indeks yoksa tüm tablo taranmasıdır.(Full Table Scan(FTS)).Indeks yukarıdaki kural tablosunda FTS’dan önce geldiği için RBO , execution plan’ı “indeks üzerinden gidilecek” şeklinde oluşturur.

İlk bakışta (örnekten hareketle) bu kural tablosu tüm durumlar için en optimum sırayı barındırıyor gibi görünse de bazı durumlarda en etkili yol daha evvel sırada olmadığı için en etkili “execution plan” çıkarılmış olmaz.Bu aşamada bir başka yaklaşıma ihtiyaç duyulmaktadır.Bu da CBO ile sağlanmaktadır.


2) Cost Based Optimizer(CBO) : Oracle’ın 7.1 sürümü ile birlikte ortaya çıkmış ve her yeni sürümde bir evvekinden daha gelişmiş olarak 10g sürümü ile birlikte son halini almış bir program olarak ifade edilebilir.Program dedim çünkü işlevi aslında analiz olan bir yapı.CBO , RBO dan farklı olarak execution plan çıkartırken belli kurallardan değil istatistiklerden hareket eder.Kendisine baz olarak “maliyet”i (cost) alır.

Peki bu istatistik nedir?İstatistikten kasıt ilgili tablodaki satır sayısı, verilerin tutulduğu block’ların durumu , indeks bilgileri, tablodaki bir satır uzunluğu ve adedi vs.. bilgilerdir.Tüm bu bilgiler ışığında CBO, farklı varyasyonlar oluşturur ve maliyeti (cost) en az olan “execution plan”’ ı seçer.Tüm bu işlemler uzun sürer gibi gözükse de aslında milisaniye mertebesinde oldukça kısa süren işlemlerdir.

Burada en önemli nokta kullanılan bu istatistiklerin “güncel” olmasıdır.Eğer güncel değilse çıkarılan “execution plan” maliyeti en düşük olan sanılır ama aslında böyle olmayabilir.Bu da beklenmedik sorgu , işlem vs. süreleri ile karşılaşmamıza sebep olur.

İstatistik toplamanın klasik yöntemi “analyze table” ve “dbms_utility”
kullanmaktır.Ama 8i sürümü ile ortaya çıkan ve Oracle’ın tercih ettiği “dbms_stats” paketi kullanmak en etkin şekilde istatistik toplanmasını sağlayacaktır.Aşağıda bunların kullanımına uygun örnekler ve açıklamaları bulabilirsiniz :

ANALYZE kulanımı hakkında :
Belli bir tablo, indeks ya da cluster için kullanılabilir.Tüm tablo için istatistik toplatılabileceği gibi bir satır sayısı ya da yüzde vererekte “tahmini” istatistik toplatılabilir.

ANALYZE TABLE employees COMPUTE STATISTICS;
ANALYZE INDEX employees_pk COMPUTE STATISTICS;
ANALYZE TABLE employees ESTIMATE STATISTICS SAMPLE 100 ROWS;
ANALYZE TABLE employees ESTIMATE STATISTICS SAMPLE 15 PERCENT;


DBMS_STATS kullanımı hakkında :
Özellikle pararel çalışma işlemleri(parrarel execution) ve istatistikleri server’lar arası taşıma özelliği DBMS_STAT’ı öne çıkaran özellikleridir.(Toplanan istatistikler bu paket ile silinebilmektedir.)

EXEC DBMS_STATS.gather_database_stats;
EXEC DBMS_STATS.gather_database_stats(estimate_percent => 15);
EXEC DBMS_STATS.gather_schema_stats(’SCOTT’Wink;
EXEC DBMS_STATS.gather_schema_stats(’SCOTT’, estimate_percent => 15);
EXEC DBMS_STATS.gather_table_stats(’SCOTT’, ‘EMPLOYEES’Wink;
EXEC DBMS_STATS.gather_table_stats(’SCOTT’, ‘EMPLOYEES’,
estimate_percent => 15);
EXEC DBMS_STATS.gather_index_stats(’SCOTT’, ‘EMPLOYEES_PK’Wink;
EXEC DBMS_STATS.gather_index_stats(’SCOTT’, ‘EMPLOYEES_PK’,
estimate_percent => 15);
EXEC DBMS_STATS.delete_database_stats;
EXEC DBMS_STATS.delete_schema_stats(’SCOTT’Wink;
EXEC DBMS_STATS.delete_table_stats(’SCOTT’, ‘EMPLOYEES’Wink;
EXEC DBMS_STATS.delete_index_stats(’SCOTT’, ‘EMPLOYEES_PK’Wink;

Istatistikleri sistemler üzerinde taşıyabilme özelliğine dikkat çekmek istiyorum.Test verilerinin gerçek ortamdaki veriler kadar büyük ve gerçekçi olması her zaman mümkün olmamaktadır.Gerçek ortamda 100 Milyon kayıt içeren bir tablonun test ortamında çokdaha az sayıda kayıt içermesi söz konusudur.Ama bu özellikle performans testleri için önemli bir kısıttır.Ancak istatistiklerin taşınabilmesi sayesinde , optimizer için test ortamı gercek ortammış gibi kullandırılabilir.Baska bir deyişle test ortamındaki tablonuzdada 100 Milyon kayıt varmış gibi bir execution plan çıkarttırmak mümkün olmaktadır.

[glow=red:1db648fec5]ALINTIDIR[/glow:1db648fec5]

Bu konuyu yazdır

  ses kartı
Yazar: sorun_bitmezki - 28-10-2006, 12:23 - Forum: Driver - Yorum Yok

iyi günler arkadaslar bana acıll ses kartı driver lazım MG-SC4 YARDIMCI OLUN

Bu konuyu yazdır

  hecker.2006
Yazar: hecker.2006 - 28-10-2006, 12:06 - Forum: Donanım Teknik Destek - Yorum (6)

eniyi anakart ney

Bu konuyu yazdır

  kingston hyper-x ram ..arıyorumm....
Yazar: brian_ist - 28-10-2006, 04:04 - Forum: İkinci El Alınık - Yorum (2)

ya arkadaslar benim bu akşama kadar acilen bir ram almam gerekiyo....

512 mb kingston hyper-x ddr 400 mhz ram arıyorum bildiğim bazı sitelere baktım stoklarında kalmamıs... istanbul piyasasında bu rami bulabileceğim bilgisayarcılar var mı???

yardımlarınız için şimdiden tşk.

Bu konuyu yazdır

  ekran kartı güncelleme:(
Yazar: brian_ist - 28-10-2006, 00:34 - Forum: Ekran Kartı - Yorum (4)

mrb arkadaslar

bende 128 mb gecube ati radeon 9550 SE ekran kartı var driverını güncelleştirmek istiyorum yalnız buna uygun driver varmı acabaSadSad

birde yeri değil ama:

ram giriş slotlarının yanıp yanmadığını nasıl anlıyabiliriz.. daha önceden ramler ile ilgili yazdığım problemin asıl nedeni ramlerin birisinin yanmıs olmasıSmileSmile ramin biri yanmışSadSad ve bende diğer rami sattım suan ram alıcam ne alsam die düşünüyom ramlerde cok pahalıSadSadSadSad

kingston hyper-x ddr 400 mhz ramleri önerirmisiniz...

Bu konuyu yazdır

  uyumlu parçalar nelerdir?
Yazar: agresif - 27-10-2006, 23:38 - Forum: Donanım Teknik Destek - Yorum (2)

uyumlu parçalar nelerdir?
uyumlu markalar,anakartlar,chipsetler ve diğer bileşenler nelerdir?
bilgisi olan arkadaşlar cevap yzarsa çok sevinirim..
pc toplayacağımda bu yakınları.
600 TYL'lik kasa yapıcam.
uçuk parçalardan alamayacağım için parçaların birbiriyle olan
uyumunu çok önemsiyorum. yanlış anlamayın.

Bu konuyu yazdır

  uyumlu parçalar nelerdir?
Yazar: agresif - 27-10-2006, 23:33 - Forum: PC Bilesenleri ve Genel Donanım Konuları - Yorum Yok

uyumlu parçalar nelerdir?
uyumlu markalar,anakartlar,chipsetler ve diğer bileşenler nelerdir?
bilgisi olan arkadaşlar cevap yzarsa çok sevinirim..
pc toplayacağımda bu yakınları.
600 TYL'lik kasa yapıcam.
uçuk parçalardan alamayacağım için parçaların birbiriyle olan
uyumunu çok önemsiyorum. yanlış anlamayın.

Bu konuyu yazdır

  DVI çıkışlı ekran kartına analog lcd!!!
Yazar: manyakartal - 27-10-2006, 22:38 - Forum: Ekran Kartı - Yorum (11)

arkadaşlar merhaba,
şimdiye kadar kendi sorunlarım için sizlerden yardım istemiştim ama bu kez abim için yardım istiyorum...
abimin ekran kartı çift çıkışlı,fakat çıkışların ikiside DVI(kartın marka ve modelini bilmiyorum,yukarıdaki yardım istediğim kişi açıklamasıda bu yüzdendi) fakat bağlı olan monitör 19" lcd,monitörün girişi analog(hepimizin bildiği girişlerden)
soruna gelince ekran bilgisayar açılırken,kapanırken vede oyun falan açıp kapatırken ortasında kalın çizgiler gelip gidiyo,yani diğer bi değişle kelpirdiyo(anlatması zor inşaallah anlarsınızBig Grin)acaba monitörü analog olduğu için mi yapıyo...lütfen cevaplarınızı bekliyorum...

herkese şimdiden teşekkürler...

Bu konuyu yazdır