25 Ekim 2014 Cumartesi

SQL'de sp_help System Prosedürünün Kullanımı

sp_help System Prosedürü SQL'de  veritabanı ve sistem üzerindeki tüm tablolar, view ler, stored procedure ler gibi nesne tipleri hakkında ayrıntılı bilgi almamızı sağlar.

Genel Yapısı:
exec sp_help '@objname'

sp_help ile Nesneler hakkında bilgi almak için:  
use Northwind
exec sp_help
Örneklerde sıklıkla kullandığım Northwind veritabanındaki herbir objenin bilgilerini listeleyelim.

sp_help ile istenilen Obje hakkında bilgi almak için: 
use Northwind
exec sp_help 'Customers'
Northwind veritabanındaki Customers tablosu ile ilgili bilgileri listeleyelim.

SQL'de sp_rename System Prosedürü ile Nesne ismi Değiştirmek

sp_rename System Prosedürünü SQL'de  nesnelerimizin adlarını değiştirmek amacıyla kullanırız.

NOT: Oluşturulan her bir nesne nin bir id si vardır ve SQL Server'da nesneler id leri ile saklanırlar.

Genel Yapısı
exec sp_rename @object_name, @new_object_name, @object_type

sp_rename ile Tablo adının değiştirilmesi :   
use KITAPLAR
SELECT * FROM Fantastikkurgu

SELECT object_id('Fantastikkurgu')
exec sp_rename  'Fantastikkurgu','Bilimkurgu' 

--Fantastikkurgu tablomuz Bilimkurgu olarak değişecektir
işlem sonrasında SELECT * FROM Fantastikkurgu sorgusunu çalıştırdığımızda Invalid Object Name 'Fantastikkurgu' hatası döndürecektir.  Sorgumuzu SELECT * FROM Bilimkurgu olarak çalıştırdığımızda ise Fantastikkurgu tablosunda mevcut olan kolonları göreceksiniz. Benzer şekilde Object Explorer üzerinden tables'a refresh yaparsanız yine tablo adının değiştiğini görebilirsiniz.

object_id system function'ını kullanarak objenin id'sini öğrenebiliriz
object_id (objectname) null döndürüyorsa o isimde nesne ilgili database de yok demektir.
 
sp_rename ile Kolon adının değiştirilmesi :  
Yukarıdaki örnekte adını değiştirdiğimiz tablonun "Yazar" kolonunu "müellif" olarak değiştirelim. sp_rename prosedürünün default'u "object" olan bir parametresi daha var. Kolonlar, sysobjects de yer almazlar ve birer database objesi değillerdir ve tablo ismi olmadan da birşey ifade etmezler. x tablonun y kolonu diye saklanırlar ve çağırılırlar. Bu nedenle adını değiştirdiğimiz nesnenin kolon tipinde olduğunu ve hangi tabloya ait olduğunu da belirtmemiz gereklidir.

exec sp_rename 'Bilimkurgu.Yazar','müellif','COLUMN'
Bilimkurgu tablomuza ait olan Yazar isimli kolonu müellif olarak değiştirdik. SELECT * FROM Bilimkurgu  sorgusu ile kolon adının değiştiğini görebiliriz. 

sp_rename ile Veritabanı adının değiştirilmesi:
Veri tabanının adını değiştirmek için sp_renamedb prosedürü kullanılır.

sp_renamedb 'KITAPLAR', 'ESERLER' veya sp_renamedb KITAPLAR , ESERLER
“KITAPLAR” ismindeki veri tabanımızın yeni adı “ESERLER” olacaktır.

sp_rename ile Constraint (Kısıtlama) adının değiştirilmesi:
Constraint adı değiştirme tablo adı değiştirme ile aynıdır. Bir veri tabanında aynı isimde birden fazla tablo olamayacağı için aynı isimde birden fazla Constraint olamaz. Bu nedenle Constraint adını değiştirince hangi tabloya aittir diye bakmıyoruz.

CREATE TABLE [EPOSTA] 
( 
[ADI SOYADI] VARCHAR(50),
 EPOSTA VARCHAR(200) 
 CONSTRAINT EPOSTA_KONTROL CHECK(EPOSTA LIKE '%@%.edu.tr') 
)
Örnek EPOSTA tablomuzda EPOSTA_KONTROL adında bir constraint (kısıtlama) mevcut. Bu constraint eposta içinde "@" işareti var mı ve eposta adresi ".edu.tr" ile bitiyor mu diye kontrol ediyor. Bu constraint in adını değiştirmek için sp_rename kullanalım.

exec sp_rename EPOSTA_KONTROL, MAIL_KONTROL
"EPOSTA_KONTROL" olan constraint adı "MAIL_KONTROL" olarak değişecektir.

24 Ekim 2014 Cuma

SQL Server'da Stored Procedure Temel Örnekler

okul adında bir veritabanı oluşturalım ve aktif çalışılacak şekilde belirleyelim.
CREATE DATABASE okul
USE okul

Oluşturduğumuz veritabanı içerinde ogrenci adında bir tablo yaratalım ve tabloya ait veri tiplerini belirleyelim.
CREATE TABLE ogrenci 
(
adi nvarchar(20),
soyadi nvarchar(25), 
ogr_no numeric(10),
bolum nchar(5),sehir nvarchar(30)
)

Oluşturduğumuz ogrenci tablomuzu kontrol amaçlı "liste" adında bir prosedür yazalım ve çalıştıralım.
CREATE PROCEDURE liste
AS
SELECT * FROM ogrenci

EXEC liste

Oluşturduğumuz ogrenci tablomuza  veri ekleme amaçlı "ekle" adında bir prosedür yazalım ve çalıştıralım.
CREATE PROCEDURE ekle
@isim nvarchar(20),
@sisim nvarchar(25),
@num numeric(10),
@bol nchar(5),
@il nvarchar(30)
AS
INSERT INTO ogrenci (adi,soyadi,ogr_no,bolum,sehir)
values(@isim,@sisim,@num,@bol,@il)


EXEC ekle 'İbrahim','BAYRAKTAR',3005,'BLG','YOZGAT'

Benzer şekilde eklediğimiz kayıtları silebilmek için bir "sil" prosedürü yazalım ve çalıştıralım.
CREATE PROCEDURE sil
@id numeric(10)
AS
DELETE FROM ogrenci WHERE ogr_no=@id

EXEC sil 3005

Eklemiş olduğumuz veriler üzerinde id belirterek kolaylıkla şehir kaydını değiştirebileceğimiz "guncelle" adında prosedürü yazalım ve çalıştıralım.
CREATE PROCEDURE guncelle
@il nvarchar(30),
@id numeric(10)
AS
UPDATE ogrenci SET sehir=@il
WHERE ogr_no=@id

EXEC guncelle 'ANKARA',3005

tablomuzda arama yapmak amacıyla kullanılacak basit bir arama prosedürü yazalım ve çalıştıralım.
CREATE PROCEDURE ara
@isim nvarchar(20)
AS
SELECT * FROM ogrenci  WHERE adi LIKE '%'+@isim+'%'

EXEC ara 'ib'

16 Ekim 2014 Perşembe

Java Sınıf ve Metot kullanılarak Faktoriyel Hesaplama Örnek

Ana Sınıf: anaprogram.java
Faktoriyel Sınıfı: faktoriyel.java

anaprogram.java
import java.util.Scanner;

public class ANAPROGRAM {

 public static void main(String[] args) {

  Scanner oku= new Scanner(System.in);
        System.out.print("Faktoriyeli alınacak sayıyı giriniz: ");
        int fsayi=oku.nextInt();
        FAKTORIYEL fakt=new FAKTORIYEL();
        int fsonuc=fakt.fak(fsayi);
        System.out.print(fsayi+"!="+fsonuc);
 }

}

faktoriyel.java
public class FAKTORIYEL {
 
 public int s;
 public static int fak(int sayi)
  {
      int sonuc=1;
      for(int i=1; i<=sayi; i++)
      {
          sonuc*=i;
      }
      return sonuc;
    
 }
 }

12 Ekim 2014 Pazar

Eskiçağda Etik

FELSEFE Ders Notları 3
ETİK
Eskiçağda Etik

Eskiçağ, uygarlık tarihi bakımından insanlığın geniş ve kapsamlı bir dönemini ifade eder. 
İlk akla gelen örnekler  Eski Mısır, Çin ve Hint  uygarlıklarıdır.

Eskiçağda etik görüşleri 4 başlık altında ele alınır.
  1. Sokrates ve Sokratesçi Okulların görüşleri
  2. Platon’un görüşü
  3. Aristoteles’in görüşü
  4. Stoa Okulunun ve Epikouros Okulunun görüşleri
Sokrates ve Sokratesçi Okulların Görüşleri
  • Sokrates, iyi ve mutlu yaşam erdemin bilgisine bağlı,
  • Sokrates erdemin ne olduğunu araştırmıştır,
  • Erdemin bilgi olup olmadığını araştırmış,
  • Erdem Bilgiyse öğretilir değilse öğretilemez
Sokratesçi Okullar

Sokrates'in kendisi bir okul kurmamıştır. Öğrencileri tarafından 4 tane okul kurulmuştur:
Megara Okulu, Elis-Eretria Okulu, Kyrene Okulu ve Kynik Okulu.
  • Kynik Okulu, yaşamda aranan ve istenen iyinin erdem olduğu,
  • Erdemin iyi ve mutlu yaşamın koşulu olduğu,
  • Hazzın sanıldığı gibi iyi olmadığı ve haz karşısında bağımsızlaşmak gerektiğini savunmuştur.
  • Kyrene Okulunda (Hazcı Okul) ise hazzın biricik iyi olduğu, iyi ve mutlu yaşam için olabildiğince haz elde ederek yaşamanın doğru olduğu ileri sürülmüştür.
Platon'un Görüşü
  • Platon da erdemi, iyi ve mutlu yaşamın koşulu olarak görmüştür.
  • Bunun için ilkin erdemin bilgisine varmak istemiş, bunu da ana erdemlerin hepsini kapsar nitelikteki adaletin ne olduğunu araştırarak belirlemeye çalışmıştır.
  • Adalet, her şeyden önce, bilgelik, cesaret ve ölçülülük üç ana erdemle birlikte sitenin erdemini tamamlayan erdemdir.
  • Adalet, "herkesin kendi işiyle uğraşması", kendi işini yapmasıdır.
  • Sitede, ölçülülüğü, yürekliliği ve bilgeliği arayıp bulduktan sonra, adalet bütün bu erdemlerin sitede doğmasına ve devamlılığına imkan verir.
Platon adı, Platon'un takma adıdır.
Platon Sokrates'in öğrencisidir ve Akademia’yı kurmuştur.
Kharmides adlı diyaloğun yazarı Platon’dur.
Platon etik sorulara çok önem vermiştir.
Platon’a göre "idea"nın bilgisine ulaşma konusunda herkes aynı yatkınlıkta değildir.
Platon insan ruhunu üç kısma ayırmıştır.
Platon, Devlet'te ve Yasalar'da erdemin öğretilebilir olduğunu düşünmüştür.

Platon'a Göre Ana Erdemler

Bilgelik: Sitenin/Yönetimin ilk erdemidir. Doğru, uygun ve isabetli kararlar alabilmek için gereken bilgiyi ifade eder.

Adalet: Bir yönetimi yada siteyi iyi kılma konusunda önemli bir işleve sahiptir. Sitede Adalet, yönetimi erdemli kılma konusunda bilgelik, ölçülülük ve yüreklilikle baş baş gider.

Logistikon: Ruhun düşünen yanıdır. Alogon, ruhun düşünmeyen yalnızca arzulayan yanıdır. Bunlar, insan eylemlerine ve tutumlarına  baktığımızda bir bakıma hemen belirlenen kısımlardır. Kısacası ruhun kısımlarından biri akıl diğeri ise arzular ve iştahlardır.

Aristoteles'in Görüşü (Ontoloji ve Etiğin Kurucusu)
  • Aristoteles, yalnız kendisi için amaç olması, en iyi, en istenir şey olması nedeniyle mutluluğun ne olduğu sorusunu sorar. Mutluluk, nedir peki? Mutluluk ruhun erdeme uygun etkinlikte bulunmasıdır. Aristoteles iyi ve mutlu yaşama önem vermiştir. Aristoteles "iyi"yi, "her şeyin arzulandığı şey" diye ifade etmiştir.
Aristoteles'in mutlulukla ilgili fikirleri:
  • Mutluluk ruhun erdeme uygun etkinliğidir.
  • Mutluluk en iyi, en güzel, en hoş şeydir.
  • Mutluluk kendisi için istenen bir şeydir.
  • Erdeme uygun işler yapmak insan mutluluk verir.
Aristoteles erdemlerin 2 türünü belirler:
  • Düşünme yetisinin (dianoia) erdemleri: Teknik Bilgi, Felsefi bilgi ve bilim, Pratik Bilgi, Akıl, Felsefi Bilgelik
  • Karakterin (ethos) erdemleri ya da etik erdemler: Cesaret, Cömertlik, Yüce Gönüllük, Adalet
Erdem, yalnızca doğru akla uygun bir huy değil, aynı zamanda doğru akılla giden bir huydur.

Aristoteles insanın bilme etkinliklerini üçe ayırır:
  • Teorik Etkinlikler: Fizik, Matematik ve ilk Felsefe
  • Pratik Etkinlikler: Etik ve Politika
  • Poietik Etkinlikler: Ürün ya da eser ortaya koyan etkinlikler
Stoa Okulunun ve Epikouros Okulunun Görüşleri:
  • Stoa Okulu için de erdem iyidir ve iyi yaşam için yapılacak tek şey erdemli yaşamaktır.
  • Erdemli yaşamak ise doğaya ya da akla uygun yaşamaktır.
  • Doğaya aykırı yaşamak insanı mutsuz kılar.
  • Epikouros için de iyi ve mutlu yaşam için insanın doğayla bağı önemlidir.
  • Doğayı ve onun atomlardan oluşan yapısını tanımak insanı yersiz korku ve kuruntulardan kurtarır.
  • Episkouros acısızlık durumu olarak anladığı hazzın önemini belirtir ve yaşamda bu anlamda hazzı amaç olarak benimser.
Etik görüşler ve etik anlayışlar

Eskiçağda etik soruları ele alan filozoflar: Sokrates, Platon ve Aristoteles'in yönelimi ile Sokratesçi Okulların, Stoa Okulunun ve Epikouros Okullarının yönelimleri farklı özelliktedir. Sokrates, Platon ve Aristoteles’in sordukları sorular ilkin etiğin iyi, erdem, mutluluk, adalet, eylemler gibi ana kavramlarının bilgisini ortaya koymayı amaçlamaktadır.

Stoa Okulunun ve Epikouros Okulları ise, etiğin nesne alanının ana kavramları olan bu kavramları değil, iyi ve mutlu yaşamın koşullarının neler olabileceğini soru konusu yapmışlardır. Bu okulların etik tarihine katkısı iyi ve mutlu bir yaşam için en doğru görünen ilkeleri getirmek olmuştur.

Örneğin, Stoa Okulunun akla ya da doğaya uygun yaşama ilkesi, Epikouros'un doğanın yapısını bilerek yaşama ve ölüm korkusu karşısında takınılacak doğru tavrın ne olduğuyla ilkesi bu türden ilkelerdir. 

Copyright 2013-2017 | İbrahim BAYRAKTAR /dev/null Web Günlüğü