SlideShare a Scribd company logo
1 of 14
Veri Tabanı
Hafta 1
Temel Kavramlar
Sibel Kuzgun Akın
Veri tabanı nedir?
Veriyi düzenlenmiş bir şekilde tutan bir
yapıdır.

İlişkisel veri tabanları veriyi tablolar halinde
düzenler ve saklar.

Hiyerarşik veri tabanları

NoSQL: Not only SQL

Büyük veri

Nesne yönelimli veri tabanı
Tablo nedir?

Veriyi hep aynı sütünda aynı tür bilgi gelecek şekilde
satır satır düzenlediğimizde bir tablo elde ederiz.

Örnek: Yoklama listesi

Satır: Kayıtlar (row / records)

Sütun: Kolonlar, hep aynı veri tipinde (column)
SQL

SQL: Standard Query Language

Bir veri tabanından diğerine değişen
unsurları olsa da, ANSI standardıdır.

İlişkisel veri tabanlarıyla işlem yapmak için
kullanılır.
− Sorgu; kayıt ekleme, silme ve
güncelleme
− Veri yapılarını değiştirme
− Yetki verme ve geri alma

4GL: 4. kuşak programlama dili
Veri tipleri

Sayısal: INT, DECIMAL, DOUBLE

Alfanumerik: CHAR, VARCHAR

Tarih / saat: DATE, TIME, DATETIME,
TIMESTAMP

Mantıksal: BOOLEAN

Metin: TEXT

İkilik (binary): BLOB
Sayısal veri tipleri

INT, TINYINT, SMALLINT, BIGINT...
− Unutma: En küçük ve en büyük değerler!
− https://dev.mysql.com/doc/refman/8.0/en/integer-types.html

DECIMAL
− Nokta (ondalık ayracı) sabit. Kesin değer.

FLOAT, DOUBLE
− Nokta kayıyor!!! Yaklaşık değer.

BIT: 1 veya 0 saklayalım :)
− Örnek: b'101'
Alfanümerik veri tipleri
CHAR ve VARCHAR arasındaki fark nedir?

CHAR(5): 5 karakterlik yer bellekte veya
diskte ayrılır.

VARCHAR(5): Değer atanıncaya kadar yer
ayrılmaz. Değer atanınca, kaç karakterse o
kadar yer ayrılır.
Tüm değerler '' veya “” içine yazılmalıdır:

Örnek: 'Ahmet Yılmaz'
Tarih veri tipleri (MySQL)

DATE: 'YYYY-AA-GG'

TIME: 'SS:DD:SS'

DATETIME: 'YYYY-AA-GG SS:DD:ss'
− '2018-10-05 21:30:04'

TIMESTAMP:
− '1970-01-01 00:00:01' UTC '2038-01-09
03:14:07' UTC arasındaki zamanlar için.
− https://www.codeproject.com/Tips/12156
35/MySQL-DATETIME-vs-TIMESTAMP
SELECT
SELECT * FROM tablo-adı;
*: Tüm kolonları göster
Tablo-adı: Örneğin, ogrenci veya konu veya...
İPUCU:
− Tablo ve kolon adlarında Türkçe harf
kullanmayın.
− Rakamla başlayan adlar vermeyin.
− Modern veri tabanları bunları desteklese de,
başınızın ağrımayacağının garantisi yok.
CREATE TABLE
CREATE TABLE sinif_listesi (
ogrenci_no VARCHAR(10),
ad VARCHAR(30),
soyad VARCHAR(30),
sinif TINYINT
);
Birincil Anahtar

Primary key

Tablonun herhangi bir satırına nokta atışı
ulaşmamızı sağlayan kolon veya
kolonlardır.

Bir tablonun bir tane birincil anahtarı olur.
Kurallar:
1. Tekil (unique) olmak zorundadır.
2. Boş (null) olamaz!
Boş / Null

Bir değeri bilmiyorsak ne yazacağız?

Örnek: Yaşı bilmiyorsak 0 mı yazalım?
Ama ya bebekse ve yaşı o yüzden 0 ise?

Bilinmeyen veya uygun olmayan değerler
için NULL kullanılır.
CREATE TABLE
CREATE TABLE sinif_listesi (
ogrenci_no VARCHAR(10) NOT NULL,
ad VARCHAR(30) NOT NULL,
soyad VARCHAR(30),
sinif TINYINT
);
ALTER TABLE sinif_listesi
ADD PRIMARY KEY (ogrenci_no);
MySQL'i nasıl kullanırım?

MySQL (Maria DB) açık kaynak kodlu ve
parasız bir ilişkisel veri tabanıdır.

Bilgisayarınıza WAMP paketi olarak
kurabilirsiniz.

WAMP: Windows / Apache / MySQL / PHP

Örnek: EasyPHP

PhpMyAdmin gibi bir uygulama ile veri
tabanlarını yönetebilirsiniz.

More Related Content

What's hot

04 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.004 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.0César Augusto Pessôa
 
Bases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutóriosBases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutóriosClara Ferreira
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoElaine Cecília Gatto
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosLuiz Arthur
 
Introdução à Biologia Molecular
Introdução à Biologia MolecularIntrodução à Biologia Molecular
Introdução à Biologia MolecularMarcos Castro
 
Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosJanynne Gomes
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaLeinylson Fontinele
 
Arquitetura de Computadores: Memórias
Arquitetura de Computadores: MemóriasArquitetura de Computadores: Memórias
Arquitetura de Computadores: MemóriasAlex Camargo
 
Computer organization and architecture.pptx
Computer organization and architecture.pptxComputer organization and architecture.pptx
Computer organization and architecture.pptxDIPTONILRAKSHIT
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de SistemasNécio de Lima Veras
 
08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contextoComputação Depressão
 

What's hot (20)

04 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.004 - C# laços de repetição, vetores e matrizes v1.0
04 - C# laços de repetição, vetores e matrizes v1.0
 
Tutorial pascal arquivos
Tutorial pascal arquivosTutorial pascal arquivos
Tutorial pascal arquivos
 
Bases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutóriosBases de Dados - Conceitos introdutórios
Bases de Dados - Conceitos introdutórios
 
Algoritmos - Procedimentos
Algoritmos - ProcedimentosAlgoritmos - Procedimentos
Algoritmos - Procedimentos
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à Computação
 
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de ArquivosSistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
Sistemas Operacionais - Gnu/Linux Gerenciamento de Arquivos
 
Introdução à Biologia Molecular
Introdução à Biologia MolecularIntrodução à Biologia Molecular
Introdução à Biologia Molecular
 
Aula 5 - Dicionário de Dados
Aula 5 - Dicionário de DadosAula 5 - Dicionário de Dados
Aula 5 - Dicionário de Dados
 
Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Memory Addressing
Memory AddressingMemory Addressing
Memory Addressing
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Introduction to 8085 by adi ppt
Introduction to 8085 by adi pptIntroduction to 8085 by adi ppt
Introduction to 8085 by adi ppt
 
Arquitetura de Computadores: Memórias
Arquitetura de Computadores: MemóriasArquitetura de Computadores: Memórias
Arquitetura de Computadores: Memórias
 
Computer organization and architecture.pptx
Computer organization and architecture.pptxComputer organization and architecture.pptx
Computer organization and architecture.pptx
 
Aula 1: Conhecendo o Arduino
Aula 1: Conhecendo o ArduinoAula 1: Conhecendo o Arduino
Aula 1: Conhecendo o Arduino
 
Registers
RegistersRegisters
Registers
 
Introdução à Análise de Sistemas
Introdução à Análise de SistemasIntrodução à Análise de Sistemas
Introdução à Análise de Sistemas
 
08 linguagens recursivamente enumeraveis e sensiveis ao contexto
08   linguagens recursivamente enumeraveis e sensiveis ao contexto08   linguagens recursivamente enumeraveis e sensiveis ao contexto
08 linguagens recursivamente enumeraveis e sensiveis ao contexto
 
Sql commands
Sql commandsSql commands
Sql commands
 
Aula 04 dicionario de dados
Aula 04   dicionario de dadosAula 04   dicionario de dados
Aula 04 dicionario de dados
 

Similar to Veri Tabanı: Temel Kavramlar (Hafta 1)

Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Sibel Kuzgun AKIN
 
Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012Sevdanur Genc
 
BÖLÜM-3-Veritabanı-Temel-Kavramları.pptx
BÖLÜM-3-Veritabanı-Temel-Kavramları.pptxBÖLÜM-3-Veritabanı-Temel-Kavramları.pptx
BÖLÜM-3-Veritabanı-Temel-Kavramları.pptxzealcoco2
 
İleri Seviye T-SQL Programlama - Chapter 06
İleri Seviye T-SQL Programlama - Chapter 06İleri Seviye T-SQL Programlama - Chapter 06
İleri Seviye T-SQL Programlama - Chapter 06Cihan Özhan
 
Sql ornegi
Sql ornegiSql ornegi
Sql ornegisersld61
 
Sql kitabi
Sql kitabiSql kitabi
Sql kitabisersld61
 
Sql egitim-cd-si
Sql egitim-cd-siSql egitim-cd-si
Sql egitim-cd-sisersld61
 
Sql kursu-ucreti
Sql kursu-ucretiSql kursu-ucreti
Sql kursu-ucretisersld61
 
Sql ders-notlari
Sql ders-notlariSql ders-notlari
Sql ders-notlarisersld61
 
Sql en-iyi-kursu
Sql en-iyi-kursuSql en-iyi-kursu
Sql en-iyi-kursusersld61
 
Sql kitaplari
Sql kitaplariSql kitaplari
Sql kitaplarisersld61
 
Sql ornekleri
Sql ornekleriSql ornekleri
Sql orneklerisersld61
 
Sql cizimi
Sql cizimiSql cizimi
Sql cizimisersld61
 

Similar to Veri Tabanı: Temel Kavramlar (Hafta 1) (20)

Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)Veri Tabani: SQL'e Giriş (Hafta 2)
Veri Tabani: SQL'e Giriş (Hafta 2)
 
Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012Veri tabaniprogramlama 12.10.2012
Veri tabaniprogramlama 12.10.2012
 
BÖLÜM-3-Veritabanı-Temel-Kavramları.pptx
BÖLÜM-3-Veritabanı-Temel-Kavramları.pptxBÖLÜM-3-Veritabanı-Temel-Kavramları.pptx
BÖLÜM-3-Veritabanı-Temel-Kavramları.pptx
 
Sql ornek
Sql ornekSql ornek
Sql ornek
 
İleri Seviye T-SQL Programlama - Chapter 06
İleri Seviye T-SQL Programlama - Chapter 06İleri Seviye T-SQL Programlama - Chapter 06
İleri Seviye T-SQL Programlama - Chapter 06
 
Veritabanı Sunusu - 1
Veritabanı Sunusu - 1Veritabanı Sunusu - 1
Veritabanı Sunusu - 1
 
Sql ornegi
Sql ornegiSql ornegi
Sql ornegi
 
Excel Power Pivot
Excel Power Pivot Excel Power Pivot
Excel Power Pivot
 
Sql kitabi
Sql kitabiSql kitabi
Sql kitabi
 
Sql odevi
Sql odeviSql odevi
Sql odevi
 
Sql egitim-cd-si
Sql egitim-cd-siSql egitim-cd-si
Sql egitim-cd-si
 
Sql kursu-ucreti
Sql kursu-ucretiSql kursu-ucreti
Sql kursu-ucreti
 
Sql okulu
Sql okuluSql okulu
Sql okulu
 
Sql ders-notlari
Sql ders-notlariSql ders-notlari
Sql ders-notlari
 
Sql en-iyi-kursu
Sql en-iyi-kursuSql en-iyi-kursu
Sql en-iyi-kursu
 
Sql kitaplari
Sql kitaplariSql kitaplari
Sql kitaplari
 
Sql ornekleri
Sql ornekleriSql ornekleri
Sql ornekleri
 
Sql cizimi
Sql cizimiSql cizimi
Sql cizimi
 
Sql 2016
Sql 2016Sql 2016
Sql 2016
 
Sql testi
Sql testiSql testi
Sql testi
 

More from Sibel Kuzgun AKIN

More from Sibel Kuzgun AKIN (10)

Requirements Analysis
Requirements AnalysisRequirements Analysis
Requirements Analysis
 
Cost Estimation
Cost EstimationCost Estimation
Cost Estimation
 
User Interface and User Experience
User Interface and User ExperienceUser Interface and User Experience
User Interface and User Experience
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Testing Software
Testing SoftwareTesting Software
Testing Software
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Normal Formlar
Normal FormlarNormal Formlar
Normal Formlar
 
ER Şemaları
ER ŞemalarıER Şemaları
ER Şemaları
 
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
Veri Tabanı: SQL Gelişmiş Sorgular (Hafta 3)
 

Veri Tabanı: Temel Kavramlar (Hafta 1)

  • 1. Veri Tabanı Hafta 1 Temel Kavramlar Sibel Kuzgun Akın
  • 2. Veri tabanı nedir? Veriyi düzenlenmiş bir şekilde tutan bir yapıdır.  İlişkisel veri tabanları veriyi tablolar halinde düzenler ve saklar.  Hiyerarşik veri tabanları  NoSQL: Not only SQL  Büyük veri  Nesne yönelimli veri tabanı
  • 3. Tablo nedir?  Veriyi hep aynı sütünda aynı tür bilgi gelecek şekilde satır satır düzenlediğimizde bir tablo elde ederiz.  Örnek: Yoklama listesi  Satır: Kayıtlar (row / records)  Sütun: Kolonlar, hep aynı veri tipinde (column)
  • 4. SQL  SQL: Standard Query Language  Bir veri tabanından diğerine değişen unsurları olsa da, ANSI standardıdır.  İlişkisel veri tabanlarıyla işlem yapmak için kullanılır. − Sorgu; kayıt ekleme, silme ve güncelleme − Veri yapılarını değiştirme − Yetki verme ve geri alma  4GL: 4. kuşak programlama dili
  • 5. Veri tipleri  Sayısal: INT, DECIMAL, DOUBLE  Alfanumerik: CHAR, VARCHAR  Tarih / saat: DATE, TIME, DATETIME, TIMESTAMP  Mantıksal: BOOLEAN  Metin: TEXT  İkilik (binary): BLOB
  • 6. Sayısal veri tipleri  INT, TINYINT, SMALLINT, BIGINT... − Unutma: En küçük ve en büyük değerler! − https://dev.mysql.com/doc/refman/8.0/en/integer-types.html  DECIMAL − Nokta (ondalık ayracı) sabit. Kesin değer.  FLOAT, DOUBLE − Nokta kayıyor!!! Yaklaşık değer.  BIT: 1 veya 0 saklayalım :) − Örnek: b'101'
  • 7. Alfanümerik veri tipleri CHAR ve VARCHAR arasındaki fark nedir?  CHAR(5): 5 karakterlik yer bellekte veya diskte ayrılır.  VARCHAR(5): Değer atanıncaya kadar yer ayrılmaz. Değer atanınca, kaç karakterse o kadar yer ayrılır. Tüm değerler '' veya “” içine yazılmalıdır:  Örnek: 'Ahmet Yılmaz'
  • 8. Tarih veri tipleri (MySQL)  DATE: 'YYYY-AA-GG'  TIME: 'SS:DD:SS'  DATETIME: 'YYYY-AA-GG SS:DD:ss' − '2018-10-05 21:30:04'  TIMESTAMP: − '1970-01-01 00:00:01' UTC '2038-01-09 03:14:07' UTC arasındaki zamanlar için. − https://www.codeproject.com/Tips/12156 35/MySQL-DATETIME-vs-TIMESTAMP
  • 9. SELECT SELECT * FROM tablo-adı; *: Tüm kolonları göster Tablo-adı: Örneğin, ogrenci veya konu veya... İPUCU: − Tablo ve kolon adlarında Türkçe harf kullanmayın. − Rakamla başlayan adlar vermeyin. − Modern veri tabanları bunları desteklese de, başınızın ağrımayacağının garantisi yok.
  • 10. CREATE TABLE CREATE TABLE sinif_listesi ( ogrenci_no VARCHAR(10), ad VARCHAR(30), soyad VARCHAR(30), sinif TINYINT );
  • 11. Birincil Anahtar  Primary key  Tablonun herhangi bir satırına nokta atışı ulaşmamızı sağlayan kolon veya kolonlardır.  Bir tablonun bir tane birincil anahtarı olur. Kurallar: 1. Tekil (unique) olmak zorundadır. 2. Boş (null) olamaz!
  • 12. Boş / Null  Bir değeri bilmiyorsak ne yazacağız?  Örnek: Yaşı bilmiyorsak 0 mı yazalım? Ama ya bebekse ve yaşı o yüzden 0 ise?  Bilinmeyen veya uygun olmayan değerler için NULL kullanılır.
  • 13. CREATE TABLE CREATE TABLE sinif_listesi ( ogrenci_no VARCHAR(10) NOT NULL, ad VARCHAR(30) NOT NULL, soyad VARCHAR(30), sinif TINYINT ); ALTER TABLE sinif_listesi ADD PRIMARY KEY (ogrenci_no);
  • 14. MySQL'i nasıl kullanırım?  MySQL (Maria DB) açık kaynak kodlu ve parasız bir ilişkisel veri tabanıdır.  Bilgisayarınıza WAMP paketi olarak kurabilirsiniz.  WAMP: Windows / Apache / MySQL / PHP  Örnek: EasyPHP  PhpMyAdmin gibi bir uygulama ile veri tabanlarını yönetebilirsiniz.