Nis 26
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 »
Nis 22
Ö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 »
Nis 21
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]
Read the rest of this entry »
Nis 18
Ö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;
Read the rest of this entry »
Nis 14
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 »
Recent Comments