adapter en statement
Even een vraagje...
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?
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?
Wellicht dat het ergens in de SQL handleiding te lezen is::
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/
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/
Thanks, maar ik zoek dus net even iemand die het in het Nederlands kan vertalen / uitleggen. Wat is een "statement" en wat is een "adapter"?
Toevoeging op 05/03/2012 09:17:00:
Het gaat me niet om de uitleg hoe een database werkt.
Toevoeging op 05/03/2012 09:17:00:
Het gaat me niet om de uitleg hoe een database werkt.
wellicht dat een woordenboek helpt?
Ja, zover was ik al ;)
Ik zoek een korte omschrijving, maar wellicht weet een van de andere leden het antwoord.
Ik zoek een korte omschrijving, maar wellicht weet een van de andere leden het antwoord.
Zelf iets opzoeken mag ook wel: sql statement definition
Één van de eerste resultaten:
Een adapter is bijv. mysql_*, MySQLi, PDO (PDO heeft meerdere adapters), Oracle, Db2, Sqlsrv, ect.
Éé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.
@Ger, het lijkt erop alsof de schrijver hiervan zegt dat een Query altijd een SELECT iets is en een Statement alles kan zijn.
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.
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.
MySQLi is een extensie onder PHP net zoals PDO dat is (PHP Data Objects). In de context van PDO betekend een adapter een PDO extensie wat een communicatie brug is tussen specifieke database-vendor en PDO zelf. Ofwel, een communicatie laag voor PDO om te communiceren met de betreffende data-bron.
Dankzij PDO, blijven je aanroepen (functies) exact hetzelfde ongeacht het database platform.
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"?
@Wouter: taalkundig is het natuurlijk heel erg krom, maar imo is een query een verzameling van SQL statements, en dat kan dus ook bv een INSERT zijn
@Ozzie:
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.
@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.
Ger, wat ik eigenlijk wil weten is hoe ik zo'n database moet noemen.
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?
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?
Type is oké of anders engine of system.
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.
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
Ah ja... da's even een andere discussie ;)
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".
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".




