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
