1. Normal Form

PostgreSQL Veritabanları Oluşturma

Darryl Reeves

Industry Assistant Professor, New York University

Örnek: öğrenci kayıtlarını sürdürme

CREATE TABLE student (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    courses VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
  • Güncelleme hataları
  • Ekleme hataları
  • Silme hataları
PostgreSQL Veritabanları Oluşturma

Örnek: güncelleme sonrası yinelenen veriler

id name courses home_room
122 Susan Roth Algebra I, Physics, Spanish II 101
413 Robert Cruz History, Geometry, Biology 204
613 Thomas Wright English III, Chemistry, Algebra II 102
PostgreSQL Veritabanları Oluşturma

Örnek: güncelleme sonrası yinelenen veriler

id name courses home_room
122 Susan Roth Algebra I, Chemistry, Spanish II 101
413 Robert Cruz History, Geometry, Biology 204
613 Thomas Wright English III, Chemistry, Algebra II 102
PostgreSQL Veritabanları Oluşturma

Örnek: güncelleme sonrası yinelenen veriler

id name courses home_room
122 Susan Roth Algebra I, Chemistry, Spanish II, Chemistry 101
413 Robert Cruz History, Geometry, Biology 204
613 Thomas Wright English III, Chemistry, Algebra II 102
PostgreSQL Veritabanları Oluşturma

Örnek: sütun kısıtlarıyla eklemeler

CREATE TABLE student (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    courses VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
id name courses home_room
122 Susan Roth Algebra I, Physics, Spanish II 101
413 Robert Cruz History, Geometry, Biology 204
613 Thomas Wright English III, Chemistry, Algebra II 102
PostgreSQL Veritabanları Oluşturma

Örnek: sütun kısıtlarıyla eklemeler

CREATE TABLE student (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    courses VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
id name courses home_room
122 Susan Roth Algebra I, Physics, Spanish II 101
413 Robert Cruz History, Geometry, Biology, French Literature 204
613 Thomas Wright English III, Chemistry, Algebra II 102
PostgreSQL Veritabanları Oluşturma

Örnek: silme işlemleri veri bütünlüğünü etkiler

id name courses home_room
122 Susan Roth Algebra I, Physics, Spanish II 101
413 Robert Cruz History, Geometry, Biology 204
613 Thomas Wright English III, Chemistry, Algebra II 102
PostgreSQL Veritabanları Oluşturma

Örnek: silme işlemleri veri bütünlüğünü etkiler

id name courses home_room
122 Susan Roth Algebra I, Physics, Spanish II 101
413 Robert Cruz History, Geometry, Biology 204
613 Thomas Wright ??? 102
PostgreSQL Veritabanları Oluşturma

Satisfying 1st Normal Form (1NF)

  • 1NF Requirement:
    • Table values must be atomic
PostgreSQL Veritabanları Oluşturma

Example: student table satisfying 1NF

CREATE TABLE student (
    id SERIAL PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    courses VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
PostgreSQL Veritabanları Oluşturma

Example: student table satisfying 1NF

CREATE TABLE student (
    id INTEGER,
    name VARCHAR(50) NOT NULL,
    courses VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
PostgreSQL Veritabanları Oluşturma

Example: student table satisfying 1NF

CREATE TABLE student (
    id INTEGER,
    name VARCHAR(50) NOT NULL,
    course VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
PostgreSQL Veritabanları Oluşturma

Example: student table satisfying 1NF

id name course home_room
122 Susan Roth Algebra I 101
122 Susan Roth Physics 101
122 Susan Roth Spanish II 101
413 Robert Cruz History 204
413 Robert Cruz Geometry 204
413 Robert Cruz Biology 204
PostgreSQL Veritabanları Oluşturma

Example: student table satisfying 1NF

CREATE TABLE student (
    id INTEGER,
    name VARCHAR(50) NOT NULL,
    course VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
PostgreSQL Veritabanları Oluşturma

Example: student table satisfying 1NF

CREATE TABLE student (
    student_id INTEGER,
    first_name VARCHAR(50) NOT NULL,
    last_name VARCHAR(50) NOT NULL,
    course VARCHAR(50) NOT NULL,
    home_room SMALLINT NOT NULL
);
PostgreSQL Veritabanları Oluşturma

Example: student table satisfying 1NF

id first_name last_name course home_room
122 Susan Roth Algebra I 101
122 Susan Roth Physics 101
122 Susan Roth Spanish II 101
413 Robert Cruz History 204
413 Robert Cruz Geometry 204
413 Robert Cruz Biology 204
PostgreSQL Veritabanları Oluşturma

Let's practice!

PostgreSQL Veritabanları Oluşturma

Preparing Video For Download...