Yazar arşivleri: Ahmet Kaymaz

İki yüzlü adamların savaşı

Şimdiye kadar 600 bin kişinin öldüğü, binlerce insanın evsiz kaldığı çocukların katletildiği onursuz bir savaşın protesto resimleri.
https://www.ccmep.org/2002_articles/Iraq/102702_pictures_of_anti.htm
https://www.pressesc.com/01171128822_top_5_anti_war_posters
https://www.miniaturegigantic.com/gallery1.html
https://www.flickr.com/photos/jbwendover/tags/protest/
https://www.flickr.com/photos/joetresh/tags/protest/
https://www.flickr.com/photos/slapasmurf/sets/72157594505982998/
https://www.flickr.com/photos/perpetually/sets/72157594506826639/
https://www.flickr.com/photos/sduffy/sets/72157594503561750/
https://seattlepi.nwsource.com/photos/bushprotest/

Iraq war protest, Iran savaşı protestoları

Veritabanı nesneler hakkında bilgi almak

SQL Server veri tabanı nesneler hakkında bilgi almak, metadata sorgulamak, öğrenmek

Database Management System-DBMS(Veritabanı Yönetim Sistemleri – VTYS)’larda veritabanının sahip olduğu nesneler hakkında bilgi almak, metadalarını(veri nesneleri hakkında veri tablosu) sorgulamak için bazı yöntemler sunulur. Bunlardan bir tanesi ANSI_SQL standartı olan INFORMATION_SCHEMA ile başlayan metadata viewleri diğer yöntem ise sistem tablolarıdır. Bu bilgiler, bir uygulamanın database katmanı için kodları generate etmekte kullanıldığı gibi SQL Injection gibi kötü niyetler için de kullanılmaktadır. Ayrıca database üzerinde yeni bir nesne oluşturulacağı zaman onun önceden var olup olmadığını kontrol etmek veya nesneyi silmeye çalıştığımızda gerçekten veritabanında öyle bir nesnenin olduğundan emin olmak için veritabanının metaverisini sorgulamak işlemlerin doğru sonuçlanması açısından önemlidir.
SQL Server’da kullanılan metadata viewleri şunlardır;

    CHECK_CONSTRAINTS,
    COLUMN_DOMAIN_USAGE
    COLUMN_PRIVILEGES
    COLUMNS
    CONSTRAINT_COLUMN_USAGE
    CONSTRAINT_TABLE_USAGE
    DOMAIN_CONSTRAINTS
    DOMAINS
    KEY_COLUMN_USAGE
    PARAMETERS
    REFERENTIAL_CONSTRAINTS
    ROUTINE_COLUMNS
    ROUTINES
    SCHEMATA
    TABLE_CONSTRAINTS
    TABLE_PRIVILEGES

Okumaya devam et

Unique Constraint’in olmadığı mükerrer kayıtlar

Önceki yazıda mükerrer eden kayıtları sahip oldukları identity değeri sayesinde silebiliyorduk. Peki Sql Server’daki bu tabloda kayıtları birbirinden ayıracak herhangi bir Primary Key veya Unique Constraint yoksa kayıtları nasıl sileceğiz. L_User isimli tablosunda kayıtları şu şekilde durduğunu varsayalım.

Okumaya devam et

Postback işleminde Asp.Net kontrolünü disable etmek

Özellikle yeni bir kaydın yapılacağı sayfalarda KAYDET butonuna birden fazla tıklandığı zaman veritabanında mükerrer kayıt oluşmaktadır. Bunu engellemek için ASP.NET öncesi teknolojilerde submit butonu gibi formu submit eden kontrolü JavaScript yardımıyla önce disable edip ardından formu submit ediyorduk.
Aynı mantığı ASP.NET server kontrolleri için de uyguladığımızda kontrolün disable olduğunu ancak postback işlemini gerçekleştirmediğine şahit oluruz. Event metodu verilmiş bir buttonu aşağıdaki gibi kodlayalım;

Okumaya devam et

Bir kolonu iki kolon olarak özetlemek

SQL Server’da bir kolonda bulunan dataları belli koşula göre iki kolon şeklinde ifade etmeye çalışalım. Bunun için güzel bir örnek olarak tüm alış, satış, müşteri iaderlerin tutulduğu bir tabloyu düşünelim. HAREKET isimli bu tabloda hareketleri birbirinden ayırmak HareketTip isminde bir kolon kullanacağız. Bu kolonda “A”, alış, “S”, satış anlamına gelmektedir. Tabloda yıllara göre hareket özetleri verilmiştir.

CREATE TABLE [dbo].[HAREKET](
	[HareketId] [int] IDENTITY(1,1) NOT NULL,
	[HareketTip] [char](1) COLLATE Turkish_CI_AS NULL,
	[Yil] [int] NULL,
	[Adet] [int] NULL
) ON [PRIMARY]

Örnek olarak aşağıdaki verileri girelim.

HareketId HareketTip Yil Adet
1 A 2001 10
2 A 2001 20
3 S 2001 5
4 S 2002 4
5 A 2002 14

Okumaya devam et

SQL Server’in kurulum ve sürüm bilgisi

Gerek SQL Server’in hangi sürümünü kullandığımızı gerekse hangi service pack’in eksik olup olmadığını öğrenmek için SQL Server’in şu anki kurulum bilgilerine ihtiyaç duyarız. Bu yazıda

  • SQL Server’in sürümünü nasıl öğrenebilirim?
  • SQL Server üzerinde hangi service pack kurulu?
  • sorularını yanıtlayacak çözümlerden bahsedeceğiz.

    Makinemizde bulunan SQL Server’in ürün ve sürüm bilgilerine ihtiyacımız olduğu zaman SQL Server Properties bölümünde öğrenebileceğimiz gibi programatik olarak ta bu bilgilere ulaşabiliriz. Bu konuda bize yardımcı olacak SQL Server değişken ve yordamları bulunmaktadır. Üzerinde çalıştığımız SQL Server’a ilişkin tarih, sürüm ve işlemci türü bilgilerini almak için @@VERSION Transact SQL değişkenini kullanabiliriz.

    SELECT @@VERSION

    ifadesi, SQL Server’in kurulumuna ilişkin bilgileri sunar. Okumaya devam et

    Havayı temizledik ama ruhları kirlettik

    Son çağın en önemli filozoflarından olan Henri Bergson’a ait olduğu söylenen bir yazıyı paylaşmak istiyorum.

    Bugünlerde.
    Mallarımız arttı, keyfimiz azaldı.
    Daha büyük evlerde kalıyoruz ama daha küçük ailelerde yasıyoruz.
    Konforumuz arttı ama zamanımız daraldı.
    Diplomamız bol ama sağduyumuz az.
    Uzmanlıklar arttı ama sorunlar çoğaldı.
    İlaçlar çoğaldı, hastalıklar arttı.
    Sorumsuzca para harcıyoruz ama az gülüyoruz.
    Trafikte çok hızlıyız ama çabuk parlıyoruz.
    Aksam geç yatıyor, sabah yorgun kalkıyoruz.
    Az kitap okuyor, çok televizyon seyrediyoruz.
    Varlığımızı arttırdık ama değerlerimizi yitirdik.
    Çok konuşuyor ama az gönül veriyoruz ve bol yalan söylüyoruz.
    Para kazanmayı öğrendik ama yuva kurmayı beceremedik.
    Hayata yıllar ekledik, yıllara hayat katamadık.
    Aya kadar gidip dönmeyi biliyoruz ama komsumuza geçmek için karsıya geçmiyoruz.
    Uzaya ulaştık ama ruhun derinliklerine inemiyoruz.
    Havayı temizledik ama ruhları kirlettik.
    Atomu parçaladık, önyargılarımızı yıkamadık.
    Çok yazıyor ama az gelişiyoruz.
    Daha çok plan yapıyoruz ama daha az sonuç alıyoruz.
    Acele etmeyi öğrendik ama sabırlı olmayı asla.
    Gelirimiz arttı, karakterimiz zayıfladı.
    Tanıdıklar çoğaldı, dostlar eksildi.
    Çabalar arttı ama mutluluklar azaldı.
    Bilgisayar ağları kuruyoruz, bilgi otoyolları inşa ediyoruz ama kendi aramızdaki iletişimde zorlanıyoruz.
    “Dünya Barışı” der, silahlanırız!
    Daha mutlu olmak için “somurtarak” çalışırız.
    Yani bugünlerde.
    Eve çift maaşın girdiği ama çiftlerin boşandığı.
    Güzel evlerin yuva olamadığı.
    Kısa seyahatlerin, kağıt mendil gibi ilişkilerin.
    Yıka çık gönüllerin, tek geceliklerin.
    Kilo dertlerinin ve her derde deva vitaminlerin.
    Vitrinlerin dolu ama gönüllerin bos olduğu.
    Günlerde yaşıyoruz!