Merhabalar,
Şimdi oldu. :) Aynı anda açıp kapatma gereği yoksa olabilir.

Biraz boş vakit buldum. "Postgress Beginning Databases with PostgreSQL, 2nd
Edition" okuyorum/uyguluyorum. Henüz Sayfa 105'deyim...

Kitap çok güzel ancak Transaction'lara henüz gelemedim... :)

İlginize çok teşekkürler...


2016-04-22 16:53 GMT+03:00 M.Atıf Ceylan <[email protected]>:

> Bir yere tutmuyorsunuz. O işi veritabanı yapıyor.
>
> "begin"  diye bir statement yolluyorsunuz (tıpkı insert into tablo adı
> .... yapar gibi)
> sonra bütün satırlarınızı ekliyorsunuz,
> insert into fatura values ('faturano1'...)
> insert into fatura values ('faturano2'...)
> insert into fatura values ('faturano3'...)
>
> yukarıdaki satırların hepsini tek tek ya da bir seferde
> çalıştırabilirsiniz.
> işiniz bittiğinde de en son "commit" komutunu yolluyorsunuz. Böylece
> verileriniz veritabanına kaydediliyor. Siz commit komutunu gönderene kadar
> diğer hiç kimse bu satırarı görmez. Diğer tablolar vs. etkilenmez. Sizin
> manual yapmak istediğinizi veritabanı yapmış olur.
>
> http://www.postgresql.org/docs/9.5/static/tutorial-transactions.html
>
> transaction kavramına göz atmanızı öneririm.
>
>
>
> On 04/22/2016 04:36 PM, [email protected] wrote:
>
> Merhaba Atıf Bey,
> Aslında tam olarak veri bütünlüğü değil merak ettiğim? Faturaya 50 kalem
> detay girdiniz ama henüz faturayı kaydetmediniz. Hala da girmeye devam
> edeceksiniz. İşte bu girdiğiniz satırları nerede tutacağız?! Bir takas alan
> yazmamız gerekmez mi? Daha sonra kaydet tuşuna basınca da veritabanına,
> olması gereken yere yazacak?!
>
> Neticede bu 50 kalem henüz bitmedi. Giriş devam ediyor?!...
>
>
>
> 2016-04-22 16:24 GMT+03:00 M.Atıf Ceylan <[email protected]>:
>
>>
>> Merhaba Mucip hocam,
>> Aslında veri bütünlüğü kavramı veritabanı seviyesinde ise bunu
>> transaction ile sağlıyorsunuz. Commit edilmemiş bir transaction diğer
>> hiçbir süreci etkilemez.
>>
>> begin transaction
>> select field1 from ....
>> insert into ...
>> update ... where ...
>> delete ....
>> commit
>>
>> bu süreç zaten sonlanana kadar veri bütünlüğü bozulmaz. Client tarafına
>> veri kopyalamak ve bunu kontrol etmeye çalışmak yanlış bir yaklaşım.
>> Relational db'lerin sanırım tümü transaction desteğine sahip ve tam olarak
>> çözdüğü şey de veri bütünlüğünü korumak.
>>
>>
>> On 04/19/2016 08:36 PM, <[email protected]>[email protected]
>> wrote:
>>
>> Merhabalar,
>> QT-C++ ile PostgreSQL üzerinde denemeler yapıyorum. Gugıllayınca
>> birşeyler görünüyor ama burada deneyimlerinizi öğrenmek istedim.
>>
>> Mesela veritabanı üzerinde bulunan kayıtlı bir faturayı çağırdınız.
>> Fatura üzerinde ve detayında değişiklik yaptınız ama neticede kaydet tuşuna
>> basmadınız ve bu işlemlerin takas bir alana yazılması ve kaydet tuşuna
>> basıldığında asıl alanlarına yazılması gerekir. Mesela faturaya ek 20 kalem
>> detay satırı girdi. Bu detay satırları geçizi olarak bir yere yazılmalı.
>> Veri bütünlüğü de korunmalı.
>>
>> Mesela Progress ve 4GL kullanılırken kullandığınız tablo yapısının bir
>> benzerini o an için geçici olarak kendi lokalinizde oluşturabiliyorsunuz.
>> Ek olarak tabloda bulunan tüm triger ve veri bütünlüğü şartları bu takas
>> tabloda da geçerli oluyor. Kaydı bu takas tabloya aktarıp orada yaptığınız
>> her şeyi öncelikle takas tabloya yazıp kaydet tuşu ile asıl tabloya
>> yazabiliyorsunuz. Buna benzer bir yapı PostgreSQL'de nasıl mümkün
>> olabiliyor. SQLite olsa iyiydi. Zira onda doğrudan hafızaya veritabanını
>> veya bir kopyasını oluşturabliyorsunuz. Peki PostgreSQL'de nasıl oluyor?...
>>
>> --
>> Kolay gelsin,
>> Mucip:)
>>
>>
>> _______________________________________________
>> Linux-programlama mailing 
>> [email protected]https://liste.linux.org.tr/mailman/listinfo/linux-programlama
>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>>
>>
>> --
>>
>> M.Atıf Ceylan
>>
>>
>> _______________________________________________
>> Linux-programlama mailing list
>> [email protected]
>> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
>> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>>
>>
>
>
> --
> Kolay gelsin,
> Mucip:)
>
>
> _______________________________________________
> Linux-programlama mailing 
> [email protected]https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>
> --
>
> M.Atıf Ceylan
>
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> https://liste.linux.org.tr/mailman/listinfo/linux-programlama
> Liste kurallari: http://liste.linux.org.tr/kurallar.php
>
>


-- 
Kolay gelsin,
Mucip:)
_______________________________________________
Linux-programlama mailing list
[email protected]
https://liste.linux.org.tr/mailman/listinfo/linux-programlama
Liste kurallari: http://liste.linux.org.tr/kurallar.php

Cevap