Veritabanındaki nesneler hakkında bilgi almak

SQL Server, Oracle 10 Comments »

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
Read the rest of this entry »

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

Query Analyzer 2 Comments »

Ö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.

Read the rest of this entry »

Sql’de mükerrer kayıtları silmek

Query Analyzer 1 Comment »

Sql Server’da bir tablodaki tekrar eden kayıtları nasıl silebiliriz ?
L_User isminde bir tablo oluşturup tabloya bir kaç kayıt girelim.

CREATE TABLE [dbo].[L_User] (
	[ColumnId] [int] IDENTITY (1, 1) NOT NULL ,
	[UserName] [char] (10) NULL ,
	[UserPwd] [char] (10) NULL
) ON [PRIMARY]

sqlmultiplerecord1.gif
Read the rest of this entry »

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

C#, VB.NET, ASP.NET 4 Comments »

Ö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;

Merhaba

Read the rest of this entry »

Bir kolonu iki kolon olarak özetlemek

Query Analyzer No Comments »

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

Read the rest of this entry »

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Giriş