Databases from scratch [closed] - database

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
How do I create a database management system from scratch? Are there any books, sites and tutorials with great quality?
With great quality I mean that it should be simple to use and straight forward in explaining the concepts.
Here are examples of caliber quality resources that I'm looking for:
If I were to create an operating system from scratch, I would consider studying MINIX 3.
If I were to create a compiler from scratch, the famous dragon book Compilers: Principles, Techniques, and Tools is a good one.
It would be great if there are working sample of source code available in C or any programming language close to C that would to justice to the task.

"Database Management Systems" by Ramakrishnan and Gehrke.
http://pages.cs.wisc.edu/~dbbook/
The first part is an intro to data modeling, SQL, etc, but it goes very deep into the design of internals in the second half (including transaction control, locking, logging, storage management, ACID guarantees, and so on).
In terms of studying internals, there is educational software called MiniBase, also from Wisconsin, but I'd just start looking at Postgres internals instead. Very clean, does a lot, does a lot right.

The academic textbooks on relational database design are:
An Introduction to Database Systems - C J Date
Database Systems: A Practical Approach to Design, Implementation and Management - Thomas Connolly
Either of these are a good place to start regarding the theory.

I would also add C J Date's other book - Date on Database

Related

equivalent non-opensource database of postgresql [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
Actually we have been asked not to use open source databsae. So, Now I have to use proprietary database. Now my doubt is What is best equivalent Proprietary database of postgresql and also it should be cost effective.
Please give some suggestion
The decision maker here has some weird ideas - specifically not open source, but they don't care what you use so long as you don't have the source code? That's nuts.
Maybe they don't understand open source licenses and are confusing GPLv3 with the simple BSD/MIT-like license PostgreSQL is under? They might have images of "open source" meaning some kind of terrible viral license that takes all their patents and forces them to open source all code that it touches (which isn't true even of GPLv3, btw). Try sending them the wikipedia article, FreeBSD's article on the license, and that of OpenBSD. They should also read the OSI FAQ. If they're still determined to waste their money after reading that and doing a little basic research, there's no saving them.
In that case, I would take the PostgreSQL source code, rename it "ProprietaryDB", whack on a restrictive all-rights-reserved license, and sell it to them for $5000/server for a perpetual license. PostgreSQL is under a BSD-like license and you're permitted to do this so long as you don't delete the copyrights from the sources or claim you wrote it. I'll gladly do this for you for as little as $4000/server, a real bargain ;-)
More seriously, there are quite a few proprietary PostgreSQL forks already, notably:
ParAccel
Greenplum Database
EnterpriseDB Postgres Plus Advanced Server
... and Amazon will sell you a ParAccel based DB as a service, Redshift, too.
Amazon RDS PostgreSQL is arguably a closed source fork too, though it tracks mainline PostgreSQL closely and there doesn't seem to be much real difference if any.

Where can I find good information about database and filesystem design? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I need to design some data structures for something that's roughly a cross between a database and a file system. In fact there's a large overlap in the design of file systems and databases. I've done some work on both, not very in-depth, but still, I have some idea about the topics. However I need more information and I am wondering if there's a good overview of design concepts out there. Things like overviews of algorithms, data structures and the like. The advantages of different types of trees or hash tables for key lookup. Perhaps some information about data ordering an alignment. In short, the experiences of other people in implementing filesystems and databases that would help the next person avoid the same mistakes.
Gray wrote a book titled "Transaction Processing: Concepts and Techniques" - http://www.amazon.com/Transaction-Processing-Concepts-Techniques-Management/dp/1558601902 - which covers a great deal of what you would need to build your own database.
One starting point for file systems would be http://www.amazon.com/The-Design-UNIX-Operating-System/dp/0132017997 - but I suspect you would have to chase down individual papers or Linux source code to keep up with the variety of different file systems created since then.

Where to find practical well-designed database schema examples to learn from? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am new to database schema design and I want to learn more about how a well-designed database scheme is implemented in the real world?
Is there any places to find those schemes? Or is there any book focused on explanation over examples.
DatabaseAnswers.org (unfortunately now defunct) but well-preserved in the Wayback Machine is a great source of example database schemas.
I can also recommend Beginning Database Design, published by Apress. I own this book and can confirm that it is of high quality. The book looks at a number of real world scenarios and explains the impact a certain design decision could have on the way the database works and the quality of the data and its output.
Finally I would advise building some small databases (E.G. contact management, Task list etc). Start by specifying some basic requirements and create some tables and queries. You WILL make some mistakes which is the best way of learning.
Here is a nice library of schemas to browse through.
http://www.databaseanswers.org/data_models

Intelligent agents "tutorial" [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
I've recently come across Intelligent Agents by reading this book :
link text
I'm interested in finding a good book for beginners, so I can start to implement such a system.
I've also tried reading "Multiagent Systems : A modern approach to distributed artificial intelligence" (can't find it on amazon) but it's not what I'm looking for.
Thanks for the help :).
The agent view point is simply an abstraction of convenience. There is nothing magical about agents. It is a way of thinking about software processes that may be migrated from one system to another.
So, yes, if you want your agents to be intelligent, then you need to understand AI algorithms.
There is numerous classical books:
David MacKay's classic (for free here)
Norvig's AIMA, of which a new version came out recently
Bishop's Neural Networks for Pattern Recognition
Bishop's Machine Learning and Pattern Recognition
The first two are the easiest, the second one covers more than machine learning. However, there is little "pragmatic" or "engineering" stuff in there. And the math is quite demanding, but so is the whole field. I guess you will do best with O'Reilly's programming collective intelligence because it has its focus on programming.
The book you have linked is actually a collection of invited research papers, which means it is quite an advanced book if you are just starting in Intelligent Systems.
Actually, there are two interpretations of Intelligent Systems:
(a) Artificial Intelligence studied mainly by the Computer Science community. AI deals with machine learning, knowledge representation and reasoning, learning and planning methods. AI is about developing algorithms. The absolute reference to AI is: "Artificial Intelligence, A modern approach"
Although you are referring to this interpretation, in case you are interested, here is the second one:
(b) Intelligent Control Systems studied mainly by Electrical Engineers. It deals with designing intelligent systems that are able to adapt to changes in the environment, able to learn, able to make intelligent decisions, etc. Intelligent systems deals with developing mathematical models of "intelligence" that can be applied to real-world systems, so as to optimize their performance (or some other measure). The tools used are mostly adaptive control, neural networks and optimization methods. There isn't an easy to follow book on this subject, however some excellent articles are here and here. Also, an excellent reference on Neural Networks is "Neural Networks, A Comprehensive Foundation"

Database design software for a student? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 9 years ago.
Improve this question
I am taking a database class and have to draw a bunch of different kinds of diagrams. Specifically, I need to draw ERD and dependency diagrams. The instructor does not want any hand drawn diagrams but does not offer any clue as to what software to use. Does anybody have any suggestions?
VisioModeler by Visio now exists as free, unsupported software. It's only good for physical ERD in my experience - it can't do logical models.
I've heard good things about MySQL Workbench too.
Try DB Designer. It's free and has some useful features. It is both Windows and Linux friendly.
Dia. Kivio. Umbrello.
So far I have been cobbling together various shapes in Visio. I don't like it but it seems to be the best way to create all the different diagrams in my text.
I've recently discovered an editor called RISE, which is published by Rise To Bloome. It's simple and easy to use and it's free to download and keep. It currently only supports Windows OS.
ERWin currently has a free community edition. http://erwin.com/products/detail/ca_erwin_data_modeler_community_edition/
It's an excellent tool for getting your feet wet.

Resources