adapter en statement
Wat is eigenlijk een database "statement". Hoe zou je "statement" in het Nederlands vertalen?
En is een database adapter hetzelfde als een database type?
Ik weet dat je bijv. diverse PDO adapters hebt waaronder mysql. Dit noem je dan adapters. Maar noem je bijv. MySqli ook een adapter?
http://dev.mysql.com/doc/refman/5.1/en/sql-syntax.html
Toevoeging op 05/03/2012 09:15:31:
Nederlandse versie::
http://phptuts.nl/view/41/
Toevoeging op 05/03/2012 09:17:00:
Het gaat me niet om de uitleg hoe een database werkt.
wellicht dat een woordenboek helpt?
Ik zoek een korte omschrijving, maar wellicht weet een van de andere leden het antwoord.
sql statement definition
Één van de eerste resultaten:
Een adapter is bijv. mysql_*, MySQLi, PDO (PDO heeft meerdere adapters), Oracle, Db2, Sqlsrv, ect.
Zelf iets opzoeken mag ook wel: Één van de eerste resultaten:
Quote:
What Is a Query?
A query is a command you give to SQL systems to perform a specific task. An example of a query is the SELECT command. It instructs SQL to select a record or columns FROM a named table. It usually ends with a semicolon, indicating the command is completed and can be executed. All SQL queries begin with a SELECT command. SQL queries are a made up of consecutive SQL statements.
An SQL Statement
An example of an SQL statement is:
SELECT snum, sname, city FROM Salespeople;
This instructs SQL to go to a database called Salespeople. Next select and print out from the many columns, the listed columns snum, sname and city. The semicolon (;) is used to indicate that the command is complete and ready for execution. SQL statements may have sub queries, that is a query "nested" inside a bigger query.
A query is a command you give to SQL systems to perform a specific task. An example of a query is the SELECT command. It instructs SQL to select a record or columns FROM a named table. It usually ends with a semicolon, indicating the command is completed and can be executed. All SQL queries begin with a SELECT command. SQL queries are a made up of consecutive SQL statements.
An SQL Statement
An example of an SQL statement is:
SELECT snum, sname, city FROM Salespeople;
This instructs SQL to go to a database called Salespeople. Next select and print out from the many columns, the listed columns snum, sname and city. The semicolon (;) is used to indicate that the command is complete and ready for execution. SQL statements may have sub queries, that is a query "nested" inside a bigger query.
Een adapter is bijv. mysql_*, MySQLi, PDO (PDO heeft meerdere adapters), Oracle, Db2, Sqlsrv, ect.
Thanks Wouter, uiteraard had ik zelf al gezocht anders had ik de vraag hier niet gesteld.
Quote:
All SQL queries begin with a SELECT command.
Wat jammer, dan kan ik echt niks meer met mijn database.
Ik denk meer dat een Query een statement is waarmee je gegevens kunt bewerken, toevoegen, deleten, enz. en dat een statement meer alle dingen zijn die je kan uitvoeren voor het browser.
Dankzij PDO, blijven je aanroepen (functies) exact hetzelfde ongeacht het database platform.
Maar Kees... kun je zeggen dat PDO een database adapter is, net als MySQLi, Oracle enz? Of kun je dan beter spreken over database "types"?
@Ozzie:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php // voor de kleurtjes dit is VB asp.NET
Protected Function GetMatchesonDate(ByVal MatchDate As Date) As DataSet
Dim MatchData As DataSet = New DataSet()
Dim mysCon As MySqlConnection = New MySqlConnection(strCon)
Dim Cmd As MySqlCommand = New MySqlCommand()
Cmd.CommandText = "SELECT matches.MatchTime, matches.Poule, " + _
"COALESCE(p1.FullName, matches.Player1) AS p1Name, " + _
"IF(matches.IsFinal=0, ROUND(p1.Average * 35 + 3), ROUND(p1.realAverage * 45 + 4)) AS p1car, " + _
"COALESCE(p2.FullName, matches.Player2) AS p2Name, " + _
"IF(matches.IsFinal=0, ROUND(p2.Average * 35 + 3), ROUND(p2.realAverage * 45 + 4)) AS p2car " + _
"FROM matches " + _
"LEFT JOIN players AS p1 ON p1.PouleSeq = matches.Player1 " + _
"LEFT JOIN players AS p2 ON p2.PouleSeq = matches.Player2 " + _
"WHERE MatchDate=?MatchDate ORDER BY MatchTime"
Cmd.Parameters.Add("?MatchDate", MySqlDbType.Date).Value = MatchDate
Cmd.Connection = mysCon
mysCon.Open()
Dim Adap As MySqlDataAdapter = New MySqlDataAdapter(Cmd)
Adap.Fill(MatchData, "matches")
Return MatchData
End Function
?>
Protected Function GetMatchesonDate(ByVal MatchDate As Date) As DataSet
Dim MatchData As DataSet = New DataSet()
Dim mysCon As MySqlConnection = New MySqlConnection(strCon)
Dim Cmd As MySqlCommand = New MySqlCommand()
Cmd.CommandText = "SELECT matches.MatchTime, matches.Poule, " + _
"COALESCE(p1.FullName, matches.Player1) AS p1Name, " + _
"IF(matches.IsFinal=0, ROUND(p1.Average * 35 + 3), ROUND(p1.realAverage * 45 + 4)) AS p1car, " + _
"COALESCE(p2.FullName, matches.Player2) AS p2Name, " + _
"IF(matches.IsFinal=0, ROUND(p2.Average * 35 + 3), ROUND(p2.realAverage * 45 + 4)) AS p2car " + _
"FROM matches " + _
"LEFT JOIN players AS p1 ON p1.PouleSeq = matches.Player1 " + _
"LEFT JOIN players AS p2 ON p2.PouleSeq = matches.Player2 " + _
"WHERE MatchDate=?MatchDate ORDER BY MatchTime"
Cmd.Parameters.Add("?MatchDate", MySqlDbType.Date).Value = MatchDate
Cmd.Connection = mysCon
mysCon.Open()
Dim Adap As MySqlDataAdapter = New MySqlDataAdapter(Cmd)
Adap.Fill(MatchData, "matches")
Return MatchData
End Function
?>
Dit is een VB asp.net voorbeeld maar je ziet hier dat de adapter een zelfstandig object is, daarom denk ik ook niet dat je PDO zelf als de adapter moet beschouwen, hetzelfde geld voor mysqli enz.
Dus stel ik wil een database verbinding maken in m'n code.. en ik heb bijvoorbeeld de keuze uit een PDU MySQL variant, een MySqli variant en een Oracle variant, hoe kun je deze verschillende varianten dan het beste noemen. Ik bedoel zoiets als dit:
$database_type = 'MySqli';
$database = new Database($database_type);
En dan gaat het me er dus om wat een goede benaming is voor $database_type. Is $database_type de juiste benaming? Of moet het $database_adapter zijn? Of wellicht nog een betere benaming?
Maar wat ik niet helemaal begrijp is waarom je het wilt switchen tusen de diverse extensies als je PDO al gebruikt; dat is juist het grote voordeel van PDO: je kunt met verschillendende database engines communiceren.
Gewijzigd op 05/03/2012 18:32:58 door Ger van Steenderen
Het gaat me er nu alleen even om hoe je zo'n "type" database noemt. Of daar een mooie benaming voor is. Ik dacht dus dat dat "adapter" was, maar klaarblijkelijk is dat niet zo. Dan hou ik het maar bij "type".