SQL ve Relational Algebra Bölüm-3

Written by Super User. Posted in Diger

Küme işlemleri 

UNION(BİRLEŞİM)

R ve S gibi iki ilişkinin birleşimi, R'de veya S'de veya her ikisinde de bulunan tuple'ların kümesidir.

R ve S aynı özellik kümeleri ve özellik çeşitleri aynı olmalıdır.

R'nin ve S'nin özellikleri aynı sırada olmalıdır.

Relational Algebra :

R U S

SQL :

(SELECT * FROM R)

UNION

(SELECT * FROM S)

INTERSECTION(KESİŞİM)

R ve S gibi iki ilişkinin kesişimi R'de ve S'de bulunan tuple'lardır.

Uygulanması UNION operatörü gibidir.

Relational Algebra :

R ∩ S

SQL :

(SELECT * FROM R)

INTERSECT

(SELECT * FROM S)

SQL ve Relational Algebra Bölüm-2

Written by Super User. Posted in Diger

Projection

Projection operatörü, herhangi bir R ilişkisinden, sadece onun bazı sütunlarını içeren, yeni bir ilişki oluşturur.

R'nin A1,A2,A3.....,An sütunlarını içeren bir ilişki elde edebilmek için;

Relational Algebra :

πA1,A2,A3...An(R)

SQL :

SELECT A1,A2,A3....An

FROM R;

Selection

Selection operatörü R ilişkisine R'nin sütunlarının bir alt kümesi ile yeni bir ilişki oluşturmak için uygulanır.

C şartı sağlanmalıdır. (C, condition ' ın başharfinden geliyor)

Relational Algebra :

σC(R)

SQL:

SELECT *

FROM R

WHERE C;

Bir SQL komutunun WHERE cümleciği σ() 'a karşılık gelir.

SQL ve Relational Algebra Bölüm-1

Written by Super User. Posted in Diger

Bundan sonra her salı günü olacağımız quizler nedeniyle, sayın T.M. Murali ' nin http://courses.cs.vt.edu/~cs4604/Fall09/ linkindeki SQL and Relational Algebra başlıklı ders slaytının çevirisini yapmayı, çevirilerini yapmaya devam ettiğim VTYS-S serilerinin önüne almayı uygun gördüm. Umarım quizlerimiz için faydalı bir çalışma olur.

SQL ve Relational Algebra

SQL = Structured Query Language ("sequel" şeklinde okunur.)

İlişkisel bir veritabanı üzerinde sorgulanmış verinin tanımlanması için kullanılır.

İlişkisel bir veritabanı üzerindeki verinin sorgulanması ve modifiye edilmesi için birincil mekanizmadır.

SQL bildirimsel(declarative) bir dildir.

  • Yapılması gereken, nasıl yapılması gerektiği belirtilmeden söylenir.
  • İlişkisel veritabanlarının ticari başarısının ana nedenlerinden bir tanesidir.

SQL bir çok standart ve uygulamaya sahiptir:

  • ANSI SQL
    SQL-92/SQL2 (null operations, outerjoins)
    SQL-99/SQL3 (recursion, triggers, objects)
    Satıcıya özel çeşitler

Relational Algebra nedir?

Relational algebra ilişkilerin içerikleri hakkındaki sorguların belirtilmesi için kullanılan bir notasyondur.

Relational algebra sorgular hakkında akıl yürütme işlevini kolaylaştırır.

Relational algebradaki işlemlerin SQL üzerinde karşılıkları mevcuttur.

Bir sorguyu çalıştırmak için, bir VTYS SQL'i relational algebra ile benzer bir notasyona çevirir.

Bir algebra operatörler ve operandlar kümesidir.

  • Aritmetik : Operandlar değişkenler ve sabitler, operatörler +,-,X,%,/ vb. dir.
  • Set Algebra : Operandlar kümeler ve operatörler U(birleşim), -(fark) vb. dir.

Temel Linux Konsol Komutları

Written by Super User. Posted in Diger

Temel Linux Konsol Komutları

Burada anlatılan bilgiler çeşitli sitelerden yararlanılarak derlenmiştir.Linux temel olarak kullanıcıyla X Pencere Sistemi adı verilen (startx buyruğuyla başlatıldığını daha önce görmüştük.) bir pencere ortamı olmaksızın, komut satırından iletişim sağlayan bir sistemdir.Konsolda her komuttan sonra helpine bakarsanız o komutun tüm fonksiyonlarını görebilirsiniz.Örnek :

ls --h

veya : ls --help

root@aku: ~# _
tipik bir komut yorumlayıcı komut (prompt). Komutların biçim ya da yapısı kullanıcının isteğine göre oluşturulabilir. Bizim özel örneğimizde "@" iminden önceki etiket (root ) şu anda geçerli olan kullanıcıyı, aku ise sistemin konak adını belirtiyor. ~ karakteri, yöneticinin hesabı halinde /root olacak olan kullanıcıların anayerleşim (home) dizinini gösteriyor ve son olarak da "#" komutu bu özel hesabın süper kullanıcıya ait olduğunu belli ediyor. Kullanıcı şimdi hareketeden imleçten sonra herhangi bir komutu girebilir.

ls: dizin içeriğini listeler
Örneğin: root@aku:~$ ls
BasiliX/ dead.letter mail/
root@yonca:~# ls -l deneme
Bu örnekte kullanıcının nasıl bir komut (ls), bir komut seçeneği (-l) ve bir parametreden (deneme) oluşan bir deyim oluşturduğunu görebiliriz. Kullanıcı enter tuşuna bastığında, Linux deneme dosyasını listeleyecektir (dosyanın büyüklüğü, oluşturulduğu tarih, ve birkaç başka özelliğini görüntüleyecektir.) Bir kabuk deyiminin genel yapısı, bir karakter boşluktan sonra komut adını izleyen seçeneklerden oluşur.

ls -l -a deneme
Seçenekler aşağıdaki gibi birlikte de kullanılabirler:

ls -la deneme
Son olarak, komut dosya olarak birden fazla dosyaadı belirtilebilir, bunlar da birbirinden boşluk karakteriyle ayrılmalıdır.

ls deneme word yedek
Bu, deneme, word ve yedek dosyalarını ayrıntı vermeden listeler. Dosyaların daha ayrıntılı bir tanımlamasını almak isteyen daha önceki gibi -l seçeneğini kullanabilir.

ls -l deneme word yedek

Linux, sistemin nasıl kullanılacağı hakkında çok geniş ağiletişimli (online) bilgiye sahiptir. Bir komutun adını biliyor ve nasıl kullanıldığını öğrenmek istiyorsanız :
man [komut]
Bu, komutunun elyordam sayfasını oluşturacaktır. Hemen hemen tüm sistem komutları için elyordam sayfaları sistemde var durumdadır. man komutunun kendisinin seçenekleri hakkında daha çok bilgi almak isterseniz, yalnızca man man yazmanız yeterli. Bir UNIX buyruğunun seçeneklerini akılda tutmak asla gerekmez. Çünkü ağiletişimli elyordam sayfaları her zaman belleğimizi tazelemek için hızlı ve kolay bir yol sağlar. Öte yandan öğrenmek istediğiniz şeyin konusunu ya da bir açkı sözcüğünü biliyorsanız şunu deneyin:

apropos [subject]
Bu, konuyla ilişkili tüm komutların bir listesini verecektir. root@yonca:~$ apropos zip
atalkd (8) - AppleTalk RTMP, NBP, ZIP, and AEP manager
bzip2, bunzip2 (1) - a block-sorting file compressor, v1.0 bzcat - decompresses files to stdout bzip2recover - recovers data from damaged bzip2 files
explodepkg (8) - Extract the contents of a tar+GNUzip package (such as a Slackware software package) in the current directory.
funzip (1) - filter for extracting from a ZIP archive in a pipe
gzip, gunzip, zcat (1) - compress or expand files
jaztool, ziptool (1) - Tool for Iomega JAZ and ZIP drives
mzip (1) - change protection mode and eject disk on Zip/Jaz drive '" t TQ $1 ..
unzip (1) - list, test and extract compressed files in a ZIP archive
unzipsfx (1) - self-extracting stub for prepending to ZIP archives
zforce (1) - force a '.gz' extension on all gzip files
zip, zipcloak, zipnote, zipsplit (1) - package and compress (archive) files
zipgrep (1) - search files in a ZIP archive for lines matching a pattern
zipinfo (1) - list detailed information about a ZIP archive

Debian Paket Yapımı

Written by Super User. Posted in Diger

Link yardımıyla ubuntu işletim sistemi üzerinde bir debian paketi oluşturmayı denedim. Çalışma dökümanımı paylaşmak istiyorum. Bu konuda daha yeni olduğum için, mutlaka yaptığım işlemlerin daha kısa ve daha doğru yöntemleri vardır. Bunlarıda öğrendikçe paylaşmayı düşünüyorum. Kolay gelsin.

#debpaket dizini oluşturulur.
$ mkdir debpaket

#Python kod parçası yazılır.
$ cat > debpaket/goksel.py << EOF
> #! /usr/bin/python 
> # -*- coding: utf-8 -*-

> print "Goksel GUREN, debian paket denemesi"
> EOF

#Dizine erişilir
$ cd debpaket/

#Python dosyamıza çalıştırma izni verilir.
$ chmod +x goksel.py