• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
views , Sequence در postgresql چی هستند؟
#1
سلام
postgresql رو روی ویندوز نصب کردم که همراهش pgAdmin III بود
رفتم phpPgAdmin هم نصب کردم ، یه تیبل هم ساختم ، منتهای مراتب یه سری تب ها هست که اطلاعاتی در موردشون ندارم ، متاسفانه منابع فارسی خوبی توی نت نیست ، یکی مارو یه نمه هُل بده راه بیافتیم Rolleyes
برای شروع views , Sequence جریانشون چی هست و اینکه این تمپلیتی که هست چیکارست ؟
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#2
views که توی mysql هم داشتیم. کار ویو چیه شما یه کوئری می نویسی بعد این رو به صورت یک جدول می تونی داشته باشی. (فقط یک لایه نمایشی هست تغییرات در یک محل اعمال میشه)
Sequence چیه؟
توی mysql و mssql ما یه چیز داشتیم به اسم auto increment اون یه چیز برای ماست مالی بود Big Grin
در واقع Sequence ها موجودیت هایی در پایگاه داده هستن که وظیفشون تولید اطلاعات یکتا هست. این اطلاعات یکتا می تونه مشخصاتی داشته باشه. مثلا یه Sequence به اسم myseq که از ۱ شروع میشه و ۲ تا ۲ تا هم بالا میره
وقتی می زنی
کد:
insert into mytable (id,title) values (nextval('myseq'),'first'),(nextval('myseq'),'two');
دو تا رکورد اضافه می کنه که رکورد اولی مقدار id رو ۱ می گیره و دومی مقدار ۳ رو می گیره.

البته توی pgsql یک نوع دیتاتایپ دیگه هست به اسم serial کار این دیتاتایپ اینه که میاد یه Sequence تولید می کنه و یه تریگر هم میزاره که شما وقتی مقدار NULL داخل اون فیلد بزاری از nextval استفاده می کنه و مقدار جدید اضافه می کنه. اینجوری همون auto increment رو داره شبیه سازی می کنه.
  پاسخ
تشکر شده توسط : Reza
#3
دیتاتایپ هاشو خوندم serial و bigserial افزایش خودکار دارن ولی اینو نمیدونستم که اگر NULL بدی باید تعریف کنی براش که چیکار کنه .
در کل با ذهنیت MySQLای به سمتش رفتم الان مثل یه کسی هستم که توی دنیای دو بعدی بوده تازه وارد دنیای سه بعدی میشه ، اینجا همه چی رو میشه تنظیم کرد بخصوص ایندکسها Heart

فکر کنم باید حالا حالا ها با pgsql کار کنم ، ممنون .
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#4
(۱۳۹۲ آبان ۲۶, ۰۲:۲۳ ق.ظ)Reza نوشته: دیتاتایپ هاشو خوندم serial و bigserial افزایش خودکار دارن ولی اینو نمیدونستم که اگر NULL بدی باید تعریف کنی براش که چیکار کنه .
در کل با ذهنیت MySQLای به سمتش رفتم الان مثل یه کسی هستم که توی دنیای دو بعدی بوده تازه وارد دنیای سه بعدی میشه ، اینجا همه چی رو میشه تنظیم کرد بخصوص ایندکسها Heart

فکر کنم باید حالا حالا ها با pgsql کار کنم ، ممنون .

نه لزومی نداره که تعریف کنی اگر NULL بود چیکار باید بکنه. فقط براj توضیح دادم که خودش تریگر رو اضافه می کنه. خواستم بدونی که اون سریال از سکوئنس استفاده کرده. ولی از لحاظ استفاده همون auto increment مثل mysql هست.

خیلی مباحث پیشرفته هست که هنوز باید در موردش مطالعه کنی. ولی هر چی هست خیلی جذابه.
  پاسخ
تشکر شده توسط : Reza
#5
ممنون ، باهاش کار میکنم .
راستش سرچ نکردم اما ممنون میشم این سوالم رو هم جواب بدی
جریان lock tables هم توی pg صادق هست ، یعنی مثل innodb توی mysql فقط رکورد رو قفل میکنه ؟
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط :
#6
(۱۳۹۲ آبان ۲۶, ۰۳:۵۶ ب.ظ)Reza نوشته: ممنون ، باهاش کار میکنم .
راستش سرچ نکردم اما ممنون میشم این سوالم رو هم جواب بدی
جریان lock tables هم توی pg صادق هست ، یعنی مثل innodb توی mysql فقط رکورد رو قفل میکنه ؟

lock table که دارره
row lock هم داره توی ترنزکشن. ترنزکشن رو کامل پشتیبانی می کنه.
  پاسخ
تشکر شده توسط : Reza


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان