Cassandra sorgu dilinin (CQL) sözdizimi SQL diline benzer.
- Tablo Oluştur
- Tabloyu değiştir
- Bırak Tablo
- Tabloyu Kes
Tablo Nasıl Oluşturulur
Cassandra'daki sütun ailesi RDBMS tablosuna benzer. Sütun ailesi, verileri depolamak için kullanılır.
Cassandra'da sütun ailesi oluşturmak için 'Tablo Oluştur' komutu kullanılır.
Sözdizimi
Create table KeyspaceName.TableName(ColumnName DataType,ColumnName DataType,ColumnName DataType… Primary key(ColumnName)) with PropertyName=PropertyValue;
- Birincil anahtar: İki tür birincil anahtar vardır.
- Tek Birincil Anahtar: Tek birincil anahtar, aşağıdaki sözdizimi ile belirtilir.
Sözdizimi
Primary key (ColumnName)
Tek birincil anahtarda yalnızca tek bir sütun vardır. Bu sütuna bölümleme anahtarı da denir. Veriler, bu sütuna göre bölümlenir. Veriler, bölüm anahtarı temelinde farklı düğümlere yayılır.
- Bileşik Birincil Anahtar: Bileşik birincil anahtar aşağıdaki sözdizimi ile belirtilir.
Sözdizimi
Primary key(ColumnName1,ColumnName2… )
Yukarıdaki sözdiziminde, SütunAdı1 bölümleme anahtarıdır ve SütunAdı2 Kümeleme anahtarıdır. Veriler ColumnName1 temelinde bölümlenecek ve veriler ColumnName2 temelinde kümelenecektir. Kümeleme, bölümdeki verileri sıralayan işlemdir.
- Bileşik Bölümleme anahtarı
Bileşik bölümleme anahtarı aşağıdaki sözdizimi ile belirtilir.
Sözdizimi
Primary Key((ColumnName1,ColumnName2),ColumnName3… ))
Yukarıdaki sözdiziminde, SütunAdı1 ve SütunAdı2, bileşik bölüm anahtarıdır. Veriler, SütunAdı1 ve SütunAdı2 sütunlarına göre bölümlenecek ve veriler SütunAdı3 temelinde kümelenecektir. Tek bölümde çok fazla veriniz varsa. Daha sonra bileşik bölümleme anahtarı kullanılır. Bileşik bölümleme anahtarı, veriler için birden çok bölüm oluşturmak için kullanılır.
- Madde ile
"With cümlesi", tanımlanmış tablo için herhangi bir özelliği ve değerini belirtmek için kullanılır. Örneğin, Cassandra tablo verilerini sıkıştırmak istiyorsanız. "With cümlesinde" sıkıştırma algoritması özellik değerini belirterek sıkıştırma özelliğini ayarlayabilirsiniz.
Misal
Burada, 'Üniversite' anahtar alanında 'Öğrenci' tablo adını oluşturacak 'Tablo oluştur' komutunun yürütülmesi.
'Tablo oluştur' komutunun başarıyla çalıştırılmasının ardından 'Öğrenci' tablosu 'Üniversite' anahtar alanında RollNo, Ad ve bölüm sütunlarıyla oluşturulacaktır. RollNo birincil anahtardır. RollNo ayrıca bir bölüm anahtarıdır. Tüm veriler tek bölümde olacaktır.
Cassandra Alter tablosu
'Tabloyu Değiştir' komutu, sütunu bırakmak, yeni bir sütun eklemek, sütun adını değiştirmek, sütun türünü değiştirmek ve tablonun özelliğini değiştirmek için kullanılır.
Sözdizimi
Aşağıda 'Tabloyu Değiştir' komutunun sözdizimi verilmiştir.
Alter table KeyspaceName.TableName +Alter ColumnName TYPE ColumnDataype |Add ColumnName ColumnDataType |Drop ColumnName |Rename ColumnName To NewColumnName |With propertyName=PropertyValue
Misal
Öğrenci tablosuna yeni sütun ekleyecek olan 'Tabloyu Değiştir' komutunun anlık görüntüsü.
'Tabloyu Değiştir' komutunun başarılı bir şekilde yürütülmesinden sonra, Öğrenci tablosuna 'int' veri türüne sahip yeni bir 'Dönem' sütunu eklenecektir.
İşte güncellenmiş Öğrenci tablosunu gösteren ekran görüntüsü.
Bırak Tablo
'Tabloyu bırak' komutu, tuş alanındaki tüm verileri içeren belirtilen tabloyu bırakır. Tabloyu bırakmadan önce, Cassandra yedekleme olarak şemanın değil verilerin anlık görüntüsünü alır.
Sözdizimi
Drop Table KeyspaceName.TableName
Misal
Burada, öğrenci tablosunu 'Üniversite' anahtar alanından bırakacak, yürütülen 'Tabloyu Bırak' komutunun anlık görüntüsü yer almaktadır.
'Tabloyu Bırak' komutunun başarılı bir şekilde yürütülmesinden sonra, öğrenci tablosu keyspace University'den bırakılacaktır.
Burada, var olmayan Öğrenci tablosuna erişmeye çalışıldığında Cassandra'nın döndürdüğü hatayı gösteren anlık görüntü var.
Tabloyu Kes
'Tabloyu kes' komutu, belirtilen tablodaki tüm verileri kaldırır. Cassandra veriyi kesmeden önce verilerin anlık görüntüsünü yedek olarak alır.
Sözdizimi
Truncate KeyspaceName.TableName
Misal
Student tablosunda üç kayıt vardır. Bunlar tablodaki kayıtlardır.
Öğrenci tablosundaki tüm verileri kaldıracak olan, yürütülen 'Tabloyu kes' komutunun anlık görüntüsü.
'Tabloyu Kes' komutunun başarılı bir şekilde yürütülmesinden sonra, tüm veriler Öğrenci tablosundan kaldırılacaktır.
İşte Student tablosunda kayıt olmayan veritabanı durumunun anlık görüntüsü.