MT487_2005guz_final_cevaplar (cevaplar vurgulu ve koyu yazılmıştır)



Benzer belgeler
1. Araçların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesi:

Güz Yarıyılı MT 487 Bilgisayarda Veri Yapıları Final Çalışma Soruları

Sayfa 1 / 8. Tabo yapıları

Oracle da kullanılan veri tipleri:

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

SAKLI YORDAM (Stored Procedure) Sibel Somyürek

Veri Tabanı SQL Server ve Management Studio kurulum linkleri:

Tetikleyiciler (TRIGGER) Tetikleyiciler ne zaman kullanılırlar. Ardı Sıra Tetikleyiciler (After Triggers) Örnek

YAPISAL SORGULAMA DİLİ (SQL)

1 - Adi A Harfi İle Biten Kişilerin Listesi İçin Hangisi Kullanılmalıdır? Select * From Kisiler Where Adi End A Select * From Kisiler Where Adi Like

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

Mysql Veritabanı Komutları

Aşağıdaki tabloyu inceleyin. Sorgulama işlemlerini bu tabloya göre yapacağız.

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

VERİTABANI ve YÖNETİMİ

KULLANICI TANIMLI FONKSİYONLAR (Devam)

Tablolar Arası İlşikiler ve Alan Özellikleri Siparis.musteri_no musteri.musteri_no Siparis.urun_kodu musteri.urun_kodu

KULLANICI TANIMLI FONKSİYONLAR

ACCESS PLATFORMUNDA SQL

STORED PROCEDURE LER (Saklı Yordamlar)

SQL Komutları (2) Uzm. Murat YAZICI

Genel Kavramlar. Bilgisayar ortamında işlenebilecek durumda bulunan kayıtlar. Birbiri ile ilişkili veriler topluluğu ve veriler arası ilişkiler

KULLANICI TANIMLI FONKSİYONLAR (Devam)

SORGULAR VE ÇEŞİTLERİ II

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

08221 Veri Tabanı II. Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı. Hafta IV. Öğr. Gör. Murat KEÇECĠOĞLU

«BM364» Veritabanı Uygulamaları

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

SQL PROGRAMLAMA. Bir batch, bir arada bulunan bir dizi SQL deyimidir. Batch ayıracı GO deyimidir.

MSSQL. 4. Hafta Uygulama - 1 BPR255 Veritabanı CREATE DATABASE OKUL GO USE OKUL GO

Kişiler tablosundan AD kolonu yusuf olan tüm satırları siler. ORDER BY deyimi bir tablodan SELECT ile seçilen verileri sıralamak için kullanılır.

SQL FONKSİYONLARI SQL lisanında hesaplama ve sayma işlemlerinde kullanılmak üzere bir çok fonksiyon vardır.

Veritabanına Uygulanması

Birden Çok Tabloda Sorgulama (Join)

Tablolar Arası İlşikiler ve Alan Özellikleri. Şekil 1. Magaza veritabanının tabloları ve tablolar arasındaki ilişkiler

TEMEL SQL SORGU ÖRNEKLERİ. Yukarıdaki sorguyu yazıp çalıştırdığımızda db_market adında bir veritabanı oluşturulur.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir. Çok satır dönerse hata verir.

Veritabanı ve Yönetim Sistemleri

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

Bilgisayar Teknolojileri Bölümü Bilgisayar Programcılığı Programı. Öğr. Gör. Cansu AYVAZ GÜVEN

SQL Kod ile Tablo Oluşturma

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

-- işareti tek satırlık açıklamalarda kullanılır. Açıklama olarak yazılan satırın önüne konulması yeterlidir.

VERİ TABANI ve YÖNETİMİ

VERİ TABANI YÖNETİM SİSTEMLERİ I

Veri Tabanı-I 9.Hafta

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

VERİTABANI. SQL (Structured Query Language)

BAYİLERİMİZE ÖZEL. 13 Ağustos İlgili Modül/ler : Genel. İlgili Versiyon/lar : ETA:SQL, ETA:V.8-SQL

Bölüm 3: DML Veri İşleme Dili

VERĐTABANI YÖNETĐM SĐSTEMLERĐ

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

İNTERNET PROGRAMCILIĞI HAFTA. MYSQL ile VERİTABANI İŞLEMLERİ - 1. Hazırlayan Fatih BALAMAN. İçindekiler. Hedefler. Veritabanı Oluşturma, Silme

SQL Deyimleri. Öğr.Gör.Volkan ALTINTAŞ Volkanaltintas.com

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

EROL AKGÜL

Aşağıdaki şemaya dikkat edin. Sorgulamalarımızı genellikle bu şemaya göre yapacağız.

SQL'e Giriş. SELECT Deyimi. SQL Komutları. Yardımcı Deyimler

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

İNTERNET TABANLI PROGRAMLAMA- 12.ders

Veri Tabanı Programlamaya Giriş

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

Bilgisayar Uygulamaları. MySql

3 Sql Veri Tipleri ve Örnek Veritabanı Tasarımı. Veritabanı 1

Gruplama (aggregate) fonksiyonları bir dizi değer üzerinde hesaplama yaparlar ve bir sonuç

Veritabanı Tasarımı. Sütun Değerlerini Güncelleme ve Satırları Silme

3 Sql Veri Tipleri. Veritabanı 1

3. Hafta Tablo İşlemleri BPR255 Veritabanı. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri Kısıtlamalar (Constraints)

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Veritabanı Tasarımı. DML İşlemleri ve Görünümler

1. GİRİŞ 2. YENİ TABLO EKLEME

Veritabanlarına ve SQL'e Giriş. Devrim GÜNDÜZ. Teknoloji Destek Merkezi --

VERİ TABANI ve YÖNETİMİ

SQL e Giriş. Uzm. Murat YAZICI

SQL (Structured Query Language) kendisi bir programlama dili olmamasına rağmen bir çok kişi tarafından programlama dili olarak bilinir.

Öğr. Gör. Cansu AYVAZ GÜVEN VERİTABANI-II. Değişken Tanımlama Ve Akış Kontrol Deyimleri

2- Total de 8000 byte yer tutup 4000 karakter olarak kullanabildiğimiz tip aşağıdakilerden hangisidir?

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

Örnek: HAFTA12B isimli bir kullanıcı tanımlayalım. Bu kullanıcıya gerekli yetkileri verelim.

Sorgudan elde edilen değerin değişkenlere aktarılmasını sağlar. Sorgudan tek satır dönmesi gerekir, aksi durumda hata olur.

Aşağıdaki tabloyu inceleyin. Yeni kayıt girme, var olan bir kaydı silme veya güncelleme işlemlerini bu tabloya göre yapacağız.

Veri Tabanı Hafta Dersi

Veri Tabanı Hafta Dersi

3. Hafta Tablo İşlemleri BPR255 Veritabanı Yönetim. Bu Derste Öğrenecekleriniz: 1. Tablo İşlemleri

VERİ TABANI YÖNETİM SİSTEMLERİ I

DAO İLE SQL KOMUTLARI. Sql komutlarını artık veri tabanında kullanmaktan başka çaremiz yok arkadaşlar. Şimdi bu sql derslerimize başlayalım.

SQL TRIGGERS (Tetikleyiciler)

İLERİ VERİTABANI SİSTEMLERİ SUAT ÜSTKAN

Öğr.Gör.Murat KEÇECĠOĞLU. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Veritabanı. SQL (Structured Query Language)

Transkript:

Öğrenci No: Ad Soyad: İmza: MT 487 Bilgisayarda Veri Yapıları 2005-06 Güz Yarıyıl Sonu Sınavı 20.01.2006 AÇIKLAMALAR Cevaplar toplam 60 puan üzerinden değerlendirilecektir. Her soru 4 puandır. Soruları aşağıda verilen OtoKira veritabanını ve bu veritabanına ait dosyaları kullanarak cevaplandırınız. KiralananYer TABLOLAR SatışYerNo int Adres varchar(255) Not null Telefon varchar(20) Not null Müşteri MüşteriNo int Ad varchar(20) Not null Soyad varchar(20) Not null Adres varchar(255) Not null Telefon varchar(10) Not null PlakaNo varchar(10) Marka varchar(15) Not null Model varchar(15) Not null Renk varchar(15) KişiSayısı smallint Not null KiraBedeli money Not null SatışYerNo int KiralananYer KiraNo int KiraBaşlangıçGün smalldatetime Not null TeslimEdilenGün smalldatetime DEFAULT(0) MüşteriNo int Müşteri PlakaNo varchar(10) Tabloların birincil anahtarları ve Identity olup olmadıkları, kısıtlamalarda açıklanmıştır. Ayrıca bir tablonun bir başka tablo ile ilişkisi, yabancı anahtar açıklaması ile belirtilmiştir. Örneğin, tablosu ile KiralananYer tablosu, SatışYerNo kolonu ile ilişkilendirilmiştir. KiraBedeli kolonununda yazılan değer günlük kira bedelidir. Kiralar günlük hesaplandığından bir aracın aynı gün içinde iki defa kiralanmadığı varsayılmaktadır. Bu nedenle (KiraBaşlangıçGün, MüşteriNo, PlakaNo) üçlüsü tablosunda her satırı tek türlü belirlemektedir. SQL Server da bir smalldatetime kolonu 0 ise bu değer tarih formatına çevrilince 01.01.1900 tarihine dönüşmektedir. O halde bir araç kiralanmış ve henüz geri getirilmemiş ise TeslimEdilenGün = 0 veya TeslimEdilenGün = '01.01.1900' dır. O halde TeslimEdilenGün <> 0 veya TeslimEdilenGün <> '01.01.1900' ise araç TeslimEdilenGün kolonunda yazılan günde teslim edilmiştir. Bu bilgiler ışığında aşağıdaki sorulara cevap veriniz.

1. ların tüm bilgilerini ve bağlı oldukları kiralama noktasının adres ve telefonunu içeren tam listesini veren aşağıdaki SQL deyimini tamamlayınız. A.PlakaNo, A.Marka, A.Model, A.Renk, K.Adres, A.KişiSayısı, A.KiraBedeli, K.Telefon A INNER JOIN KiralananYer K ON A.SatışYerNo = K.SatışYerNo 2. Henüz geri getirilmeyen araçların, kiralayan müşteri ile birlikte listesini veren aşağıdaki SQL deyimini tamamlayınız. A.PlakaNo, A.Marka, A.Model, M.Ad, M.Soyad, M.Telefon, K.KiraBaşlangıçGün A INNER JOIN K ON A.PlakaNo = K.PlakaNo INNER JOIN Müşteri M ON K.MüşteriNo = M.MüşteriNo ( K.TeslimEdilenGün = 0) 3. '03.13.2005' tarihinde kiraya verilen ve halen kirada olan araçların plaka numaraları ile modellerinin listesini veren aşağıdaki SQL deyimini tamamlayınız. A.PlakaNo, A.Model A INNER JOIN K ON A.PlakaNo = K.PlakaNo ( K.KiraBaşlangıçGün = '03.13.2005' ) AND ( K.TeslimEdilenGün = 0 ) 4. '03.13.2005' tarihinde 2842 numaralı müşteriye kiralanan '01XX333' nolu aracın kiralandığını belirten bilgileri tablosuna giren SQL deyimini INSERT INTO ( KiraBaşlangıçGün, MüşteriNo, PlakaNo ) VALUES ( '03.13.2005', 2842, '01XX333' )

5. 41 numaralı müşterinin '03.23.2005' tarihinde kiraladığı '34XX222' plaka numaralı araç '03.25.2005' tarihinde teslim edildiğine göre tablosunu güncelleyen SQL deyimini UPDATE SET TeslimEdilenGün = '03.25.2005' ( MüşteriNo = 41 ) AND ( KiraBaşlangıçGün = '03.23.2005' ) AND ( PlakaNo = '34XX222' ) 6. tablosunda, KiraNo = 5 olarak numaralandırılmış satırda bulunan araç teslim edildiğine göre müşterinin ödeyeceği ücreti belirleyen SQL deyimini DATEDIFF(day, K.KiraBaşlangıçGün, K.TeslimEdilenGün ) * A.KiraBedeli Ücret K INNER JOIN A ON K.PlakaNo = A.PlakaNo ( K.KiraNo = 5 ) 7. tablosunda KiraNo = 6 olarak numaralandırılmış satırda bulunan aracın iade edildiği gün '03.24.2005' olduğuna göre tablosunu güncelleyen SQL deyimini UPDATE SET TeslimEdilenGün = '03.24.2005' ( KiraNo = 6 ) 8. En genel olarak tablosunda @KiraNo numarası ile numaralandırılmış satırda bulunan aracın iade edildiği gün @TeslimEdilenGün olduğuna göre tablosunu güncelleyen sx Güncelle_2 saklı yordamını CREATE PROCEDURE sx Güncelle_2 @KiraNo int, @TeslimEdilenGün smalldatetime

UPDATE SET TeslimEdilenGün = @TeslimEdilenGün ( KiraNo = @KiraNo ) 9. Halen kirada olan tüm araçların listesini veren v_kirada isimli VIEW CREATE VIEW v_kirada KiraNo, KiraBaşlangıçGün, PlakaNo, MüşteriNo ( TeslimEdilenGün = 0 ) 10. Kirada olmayan araçların plaka no, model ve marka bilgilerini veren v_kiradadegil isimli VIEW CREATE VIEW v_kiradadegil A.PlakaNo, A.Marka, A.Model A LEFT OUTER JOIN K ON A.PlakaNo = K.PlakaNo ( K.PlakaNo IS NULL) UNION A.PlakaNo, A.Marka, A.Model A INNER JOIN K ON A.PlakaNo = K.PlakaNo ( K.TeslimEdilenGün >0) 11. Arabaların birbirinden farklı renklerini veren bir SQL deyimi DISTINCT Renk 12. Markası Renault ve modeli Scenic olan araçların bulundukları yerlere göre sayısını listeleyen bir SQL deyimi COUNT( PlakaNo ) Say, SatışYerNo

( Marka = 'Renault' ) AND ( Model = 'Scenic' ) GROUP BY SatışYerNo 13. Yeni araç alımında bunu araç tablosuna ekleyen aşağıdaki sx Gir isimli saklı yordamı tamamlayınız. CREATE PROCEDURE sx Gir @PlakaNo varchar(10), @Marka varchar(15), @Model varchar(15), @Renk varchar(15), @KişiSayısı smallint, @KiraBedeli money, @SatışYerNo int INSERT INTO (PlakaNo, Marka, Model, Renk, KişiSayısı, KiraBedeli, SatışYerNo) VALUES ( @PlakaNo, @Marka, @Model, @Renk, @KişiSayısı, @KiraBedeli, @SatışYerNo ) 14. Yeni alınan Mavi renkli, markası Ford, modeli Focus olan 4 kişilik, 01DD555 plaka numaralı araç kira bedeli 40 YTL olmak üzere, 6 numaralı satış yerine verildiğine göre bu bilgiyi sx Gir yordamı ile tablosuna ekleyen bir SQL deyimi EXECUTE sx Gir 01DD555, Ford, Focus, Mavi, 4, 40, 6 15. Kaç farklı müşteri araba kiralamıştır sorusunun cevabını veren bir SQL deyimi yazınız (Not: aracın teslim edilip edilmemesi önemli değil, kiralama işinin yapılmış olması yeterli). COUNT(DISTINCT MüşteriNo ) SAY