Learn the underlying database using C language library to see what books?

Category: C/C++ -> C Author: shiweimail163 Date: 2010-12-28 17:27:48
2010-12-28 17:27:48
I want to use C language can achieve a common database underlying operating libraries. . .
such as writing a function excu (sql), you can execute sql statement.
PS: Instead of using the interface provided by the database vendor, such as: pro c and so on.
2010-12-28 17:39:50
you'd better be there on the Linux platform development technology on the C language, it is because, if the development of C language under Windows, then , will be greatly restricted, for example: Windows programming techniques now turning Yi, Lee's direction, compared with the C language for strong loving friends is not suitable for, say, Windows has very little authority to engage in technical content to the user code, C language on the Windows platform is obsolete.
Therefore, if the landlord of the C language has a strong interest, you should transition Linux platform, because Linux has a unique advantage: open source, requires the user to understand the deeper level of development ... ...
like MySQL database under Linux although not with all of the C development, but can under Linux and Windows compatible well run and very authoritative under Linux open source technologies, for a people who aspire C is an honor.
I will not explain what the underlying database using C language development books because these books in Linux easily be able to find the source code.
best of luck!
2010-12-28 17:44:10

look at Berkeley DB is a good choice. The LZ this situation, I think this should be placed on the SQL prior to the study.

SQL standard can take a look, first ignoring each company's expansion. Also, the database is not necessarily a SQL Yeah, no SQL is also very good, it has to learn a little of. Hehe.
2010-12-28 17:46:58
At least, at least you have mastery database theory, compiler theory
2010-12-28 17:50:24
basically impossible, because you need to know the format of the internal structure of the database vendor will tell you
people do, besides various manufacturers are not the same, how do you achieve universal
2010-12-28 18:00:47
not generic library interface, but simply some general SQL statement execution, compiler theory should not look at it, the interpreter does not design to do it?
2010-12-28 18:12:38

that have to be lexical analysis
2010-12-28 18:26:37

lexical analysis, then, what is the meaning isolated word amount? Do not understand
2010-12-28 18:39:34

you say, it might as well pass on a few simple parameters

2010-12-28 18:42:49
matter what language, nothing less than using the database in two ways: first, through the database vendor or universal interface to access the agreed specifications, such interfaces are generally supportive of SQL; second is to understand the internal database format, which means to read and write files directly access database files.

you say to use the interface provided by the database vendor that wants to go the second way, not only to directly access the various types of database files, also intends to Own a generic interface library that supports SQL. ..... To be honest, the second floor, "basically impossible" has been very subtle the
2010-12-28 18:46:17
I am now doing the underlying UNIX platform development, communications that the bottom has been done fast. . . But the underlying database really do not know where to start. . Hope that the experience of large cattle guide us. . . .
I now want to implement some simple preliminary execution of SQL statements, such as writing a function excu (sql), ability to use sprintf (sql, "select * from tb"), will pass the SQL statement into sql, use excu () implementation assumes that the database is already open, and the user password have been entered. . .
2010-12-28 18:56:47
or go to study a mysql source
2010-12-28 19:04:44
linux learn
2010-12-28 19:09:01

so you still have to use the database interface, Unix under recommended to see mySQL is used, in fact the database interface provides a series of open, retrieve, update, etc. API appropriately encapsulated constitute you that excu
2010-12-28 19:21:52
different database drivers and interfaces are not the same, how do you think?
2010-12-28 19:32:10
I want all kinds of database interfaces are sealed into a category, such as doing a DBOPEN (), passing three parameters, the database name, user name, password, depending on the database type call different database connection function, I do not know through that okay? Please enlighten large cattle
2010-12-28 19:39:50
do not use the interface, I can not figure out.
you do not pass the interface, the database allows you to operate?
2010-12-28 19:59:36
research database file that you want to format. . . . C API directly with the manufacturers is not very good?
2010-12-28 20:16:01
companies want to be a common underlying platform. . . Speed ​​development places. . . Depressed. . .
2010-12-28 20:19:59
C API interface to the manufacturers are re-packaged again.