หน้า: 1 2 3 4 5 6 7 [8] 9 10 11 12
 
ผู้เขียน หัวข้อ: ภาษา SQL  (อ่าน 102024 ครั้ง)
0 สมาชิก และ 1 ขาจร กำลังดูหัวข้อนี้
ถ้าของ php มีเพียบเลยครับ

แอบอ้าง
    *  AYLOOP (http://homepage.mac.com/sbarnum/code/alyoop/)
    * Changes (http://www.sitepoint.com/forums/showthread.php?t=214183)
    * DB_DataContainer  (http://www.appelsiini.net/~tuupola/php/DBDataContainer/): DBDataContainer is a PEAR compliant database persistence layer and data encapsulation class. Based on ActiveRecord.
    * DB_DataObject (PEAR) - official PEAR page  (http://pear.php.net/package/DB_DataObject)
    * DBTable (http://wiki.ciaweb.net/yawiki/index.php?area=DBTable): DB_Table is an object-oriented interface to a database table. PEAR-compliant. Based on ActiveRecord.
    * DBDO (PECL) (http://pecl.php.net/package/DBDO): Same as DB_DataObject, except as a PHP Extension
    * Entity (http://tanus.dotgeek.org/): The Entity framework is a generic object to database mapping architecture.
    * EZPDO (http://www.ezpdo.net): Eazy PHP Data Objects, a lightweight and easy-to-use object-relational mapping and data persistence solution for PHP
    * LDO (http://www.wojciechszela.com): Lightweight Data Objects, lightweight, open, feature rich and intuitive persistence solution for PHP
    * Metastorage (http://www.meta-language.net/metastorage.html): Metastorage is an application that automatically generates code for an Object Oriented API to store, retrieve and manipulate the data objects of classes described in a high level data model definition.
    * MyObjects (http://www.myobjects.org/): MyObjects is a set of tools for class generation, database schema generation and object persistence for Php 5 and MySql.
    * phpersistence (http://www.phpersistence.org/): phpersistence is an object oriented persistence layer for php, using transparent object relational mapping.
    * PhpOpenbiz (http://www.phpopenbiz.org/) PhpOpenbiz is a metadata-driven framework that implements MVC, ORM and object persistence. It also has an Eclipse plugin to help ORM configuration.
    * PPO (PHP Persistent Object) - Changes for PHP5
    * Perdure (http://sourceforge.net/projects/perdure/): Perdure is a transparent object relational persistence and query tool for PHP.
    * Propel (http://propel.phpdb.org): Propel is a full-service object persistence and query toolkit for PHP5.
    * phpCr (http://www.phpcr.org/): php Content Repository is a collection of interfaces. It aims to provide a framework for implementing jsr-170 (http://jcp.org/aboutJava/communityprocess/pfd/jsr170/index.html) for php.
    * DBOO & DBOO2  (http://www.sergiocarvalho.com/wiki/OpenSourceSoftware/#toc3): A PEAR-compliant orm for php4 and php5
    * Php Object Generator (POG)  (http://www.phpobjectgenerator.com/): Free Online Generator which automatically generates tested ORM code that you can use for your PHP4/PHP5 application.
    * Qcodo (http://www.qcodo.com/): Code-generation based PHP Development Framework that not only creates your ORM, but also creates classes for your forms. Architected to allow full customization to work hand-in-hand with infinite code regenerations. Recently presented at the Zend/PHP Conference (http://zend.kbconferences.com/).

ที่มา : _http://weblog.punneng.net/2005/11/30/object-relational-mapping

ใน link ยังมีรายละเอียดของ java กับ .net ด้วยครับ

java

http://www.javaskyline.com/database.html

.net

http://sharptoolbox.com/categories/object-relational-mappers



บันทึกการเข้า
ขอบคุณครับ  มึนตึ้บ
บันทึกการเข้า

Today you , Tomorrow me.
ruby ก็ได้นะครับ

เห็นเรียกแค่ find(name:=>"a") ประมาณนี้
บันทึกการเข้า

เราจะต้องการอะไรมากมายไปกว่า อะไรมากมาย
ครับ ใน ruby จะใช้เป็น active record ซึ่งเป็นการทำ ORM model ลักษณะเดียวกันกับ hibernate ใน java

แต่ใน ruby จะได้เปรียบตรงการเขียนคอนฟิกไฟล์ที่น้อยกว่ามากๆ

รายละเอียดเพิ่มเติมครับ

http://weblog.punneng.com/2006/5/20/ruby-on-rails-activerecord

Castle Active Record ของทางฝั่ง .NET

http://coredeveloper.net/blogs/wiennat/archive/2008/04/13/castle-active-record-intro.aspx
« แก้ไขครั้งสุดท้าย: 04 ส.ค. 2008, 13:32 น. โดย ต้น » บันทึกการเข้า

php เขียนเป็นออปเจ็ค ก็ง่ายดีนะพี่โอ้เอ้
บันทึกการเข้า

E entao pergunta Se eu estou em paz E eu digo sim, i feel wonderful tonight

ต้นฉบับ:
SELECT SUM(area_male_population) + SUM(area_female_population) AS population
FROM tbl_area WHERE state_id IN (
SELECT state_id FROM tbl_state WHERE country_id IN (
SELECT country_id FROM tbl_coutry WHERE country_id = xxx
));

แปล: sub นรก กร๊าก
เลือก ผลรวม(area_male_population) + ผลรวม(area_female_population) ในฐานะ population
จาก tbl_area โดยที่ state_id อยู่ใน (
เลือก state_id จาก tbl_state โดยที่ country_id อยู่ใน (
เลือก country_id จาก tbl_coutry โดยที่ country_id = xxx
));

แปล: sub นรก กำลัง 2
เลือก ผลรวม(พื้นที่_ชาย_ประชากร) + ผลรวม(พื้นที่_หญิง_ประชากร) ในฐานะ ประชากร
จาก ทีบีแอล_พื้นที่ โดยที่ รัฐ_ไอดี อยู่ใน (
เลือก รัฐ_ไอดี จาก ทีบีแอล_รัฐ โดยที่ ประเทศ_ไอดี อยู่ใน (
เลือก ประเทศ_ไอดี จาก ทีบีแอล_ประเทศ โดยที่ ประเทศ_ไอดี = xxx
บันทึกการเข้า
แปล: sub นรก กำลัง 2
เลือก ผลรวม(พื้นที่_ชาย_ประชากร) + ผลรวม(พื้นที่_หญิง_ประชากร) ในฐานะ ประชากร
จาก ทีบีแอล_พื้นที่ โดยที่ รัฐ_ไอดี อยู่ใน (
เลือก รัฐ_ไอดี จาก ทีบีแอล_รัฐ โดยที่ ประเทศ_ไอดี อยู่ใน (
เลือก ประเทศ_ไอดี จาก ทีบีแอล_ประเทศ โดยที่ ประเทศ_ไอดี =  หื่น
บันทึกการเข้า

Today you , Tomorrow me.
ว้าว กำลังเรียนอยู่เลยค่ะ เป็นประโยชน์มาก ขอบคุณค่ะ (แจ๋ว แจ๋ว)
แต่ทำไมรูปมันไม่ขี้นล่ะคะ
บันทึกการเข้า

whatever will be will be
กำลังเรียนอยู่เลย
ไว้ค่อยมาหาความรู้
บันทึกการเข้า

whatever will be will be


ขุด  หมีโหด~

ช่วงนี้ inner join บ่อยมาก จนอธิบายถูกแล้วครับ  กร๊าก

แปลเป็นไทยง่ายๆ ว่า

รหัสลับที่เราใส่ไว้ที่ table หนึ่ง
แต่คำแปลอยู่อีก table หนึ่ง

พอเราต้องการคำแปล
เราก็ inner join เอาครับ ตามที่เราใส่รหัสไว้

เช่น

table personal
name | surname | sex_id <--- รหัสลับ

table sex
sex_id | sex_type <-- คำแปล

จะคิวรีหาคนจาก personal แล้วอยากรู้เพศด้วย แต่ถ้าคิวรีเฉยๆ จะได้รหัสลับบ้าบออะไรไม่รุ้อออกมา
เลย inner join ครับผม

select p.name, p.surname, s.sex_type
from personal p
  inner join sex s
  on (p.sex_id = s.sex_id) <-- เป็นตัวบอกว่ารหัสที่ personal นะเอามาถอดรหัสที่ sex นะ



 หยี หยี หยี

ถ้าใส่รหัสไว้หลาย table ก็ใส่อย่างนี้ไปอีก

ข้อควรวะรัง  หมีโหด~
อย่าลืมตั้งชื่อเล่นหน่อมแหน้มให้ table คุณด้วยยยยยยย




บันทึกการเข้า

เราจะต้องการอะไรมากมายไปกว่า อะไรมากมาย
INNER JOIN ต่างจาก LEFT JOIN หรือ RIGHT JOIN ยังไงครับ  งง

ปกติผมใช้ LEFT JOIN ตลอดเลย
บันทึกการเข้า

.. What you think, you are ..
left join กับ right join มันถือเป็น outer join ล่ะ (ถ้าจำไม่ผิด)

เช่น ตารางแรก คือตารางชื่อคน กับแผนก ถ้า - คือยังไม่สังกัดแผนก
ชื่อ    แผนก
aaa   1
bbb   2
ccc    -
ddd   4
eee   -

ตารางที่ 2 รายละเอียดแผนก
รหัส ชื่อแผนก  bla bla
1    nnn
2    mmm
3    ppp
4    qqq
5    yyy

ถ้า left outer join แสดงว่ายึดตารางที่เราใส่ทางซ้ายเป็นหลัก เช่น ตารางแรกอยู่ทางซ้าย
จะได้ผลลัพธ์คือ
ชื่อคนทุกคนไม่ว่าจะมีแผนกหรือไม่ก็ตาม
aaa  nnn
bbb  mmm
ccc    -
ddd   qqq
eee   -

ถ้า left outer join แสดงว่ายึดตารางที่เราใส่ทางซ้ายเป็นหลัก เช่น ตารางที่สองอยู่ทางซ้าย
จะได้ผลลัพธ์คือ
ชื่อทุกแผนกแทน

ถ้า inner join จะได้
aaa   nnn
bbb   mmm
ddd   qqq

จริงๆตัวอย่างยังไม่ค่อยดีเท่าไหร่
แต่ไม่ค่อยมีเวลาอธิบายแล้ว คงไม่งงเนอะ  ปลื้ม



บันทึกการเข้า

ถ้าใส่

ตารางแรก left join ตารางสอง on (ตารางแรก.แผนก = ตารางสอง.รหัส)

อย่างงี้ก็ได้ผลแบบ inner รึเปล่าครับ ?

บันทึกการเข้า

.. What you think, you are ..
จริงๆตัวอย่างยังไม่ค่อยดีเท่าไหร่
แต่ไม่ค่อยมีเวลาอธิบายแล้ว คงไม่งงเนอะ  ปลื้ม

 ฮือๆ~/ งงครับ
บันทึกการเข้า

เดี๋ยวมีเวลาจะอธิบายใหม่นะ   กร๊าก ฮือๆๆ
บันทึกการเข้า

หน้า: 1 2 3 4 5 6 7 [8] 9 10 11 12
 
 
Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2007, Simple Machines | Thai language by ThaiSMF Valid XHTML 1.0! Valid CSS!