How can I create a data base management system? - database

I have to create a data base management system as a project for the school but I don't know how to. It doesn't have to be very sophisticated. Is there any tutorial that shows how to do it? And, what would be the most appropriate language to do that?

Do you need to actually build a database engine? Or do you need to use a database engine to create a database that you write a program to use?
Without knowing exactly what you're after, for the latter, I'd recommend you get ahold of the MAMP (on Mac) or WAMP (on Windows) stacks. this gives you Apache, MySql, and PHP on top of your favorite OS. Following google threads on those topics should lead you to plenty of examples.
If you have to actually build a database engine... well, here's another SO question that might help: Simple Database Implementation for Educational Purpose. Also, you might search through Github for open source examples.
Good luck!

I suggest this repository:
Prerequisites :
Good understanding of algorithms & dynamic data structures like trees - B-trees.. (it's all about structuring data and handling it using optimized algorithms's implementation)
Proficiency with C programming language ( pointers , structures-unions-typedef..) .

Related

what is difference between installing sqlite3 and making .sqlite file?

I'm trying to learn apollo and following the docs and this documentation using sqlite to show how to connect local database to server.
i didn't install sqlite3 but the .sqlite file is in given source.
Even though it was out of the lecture but i got curious how this works though i didn't install it.
i have searched to find why it works and what is difference between these but i couldn't find it so i reached here to ask question about what are the differences and what is better to use.
Thanks!
SQLite is a library extensively used in different programming languages like python, javascript, php etc. This library is made using C-language which implements a small, fast, self-contained, high-reliability, full-featured, SQL database engine. ".sqlite" is a database file which contains all the data stored. This file can be made by executing some code based on syntax of that particular language. For you to work on SQLite, you need to have installed it on your local machine.

Is it alright to write a software creates a roster for a restaurant with JAVA language?

I need some advice on the project im working for fun during the summer. Say im writing a software that helps creating the roster base on the availiabilities of the staffs. I need some advice on how to implement these items below:
A database that holds the infomation of the staffs (ie.
availiabilities, minimum hours, maximum hours).
The core of the software where the process of arranging staffs on a day base on the database.
A GUI that displays the final version of roster after step 2 above so it can be printed out by the manager.
Im thinking of using Java but not sure how i to implement and connect the database, the core and the GUI together? Can i do everything listed using Java?Can anyone please suggest me a solution or an article for this?
There are many different paths you could follow, depending on what your end goals are.
DO you want to learn Java or are you just trying to practice application development ? I am assuming you are interested in an application that runs on the web.
For me, the best choices are either Java or PHP, but this is largely based on my own experiences. Others might argue that Python or Ruby would be a better to start.
For a Java based solution, you would use: Java JSPs with HTML for the front end (Javascript and JQuery optional); Java (Servlets) for the middle tier; JDBC, JPA, Spring, and/or Hybernate to connect to the DB; MySQL is a good candidate for the DB, but there are other options.
For a PHP based solution, you would use: PHP, HTML for the frond end (Javascript and JQuery optional); PHP for the middle tier (there are frameworks you coulse here as well); PHP to connect to the DB; MySQL is a good candidate for the DB, but there are other options.
If you dont know either, I think PHP is easier to setup and run for beginners, and is the basis for many open source and commercial web applications (e.g., WordPress); but Java is used for most large scale applications.

How do I play with Lynda etc. Postgres example files on MAMP without screwing up my current local environment? (beginner here)

So my company installed PostgreSQL on my computer, which I use, rarely and without understanding, for one specific function.
I'm trying to follow Lynda etc. tutorials to understand (Postgres)SQL better, since that's what we use, but all the tutorials ask students to reconfigure certain aspects of their system in order to follow along with example files (which I would really like to do).
Since I've messed up my dev env once already, I'm hesitant to touch anything that will cause issues with the local versions of our project.
I know this is an extremely wide-angle question with no easy answer, but if anyone has any general advice for playing with sample databases in MAMP Pro (or anywhere else) using Postgres without interfering with the servers I'm currently running, it would be a huge help.
i would recommend you use Vagrant and set up a isolated postgresql instance. Here is a great wiki you can follow to do this.
UPDATE: Given your comment,An easy solution is to just backup your data and proceed trying out the the Postgres examples you can always restore your data after you are done..

There is a PL/pgSQL free environment to develop for PostgreSQL?

I want to know if there is a free environment to develop in PL/pgSQL.
Writing the code in Notepad++, replacing the function and running it turns the process slow. I'm using pgAdmin(only to replace and run the procedure) at the moment, but this is not what I want.
I know that there is one similar question here, but this is not duplicated. All the tools to develop are paid, I want to know if there is one free.
I am very happy with following environment.
I use a programmer editor like geany or similar and I edit a file with functions - I put related functions to one file - this is similar to modules from other environments.
I don't use a copy to pgAdmin - it is terrible work - and I don't think so pgAdmin is good tool for editing and maintaining more functions - it is good for ad hoc changes. The editor is not strong - it is simply, and you can't use a usual tools like git, cvs, .. More - you cannot to organize a related functions to one entity.
If I have a one or two files, then I have a opened console, and just import a file to postgres via \i command. If I have a more larger and complex project I use a makefiles - so it automatically import only modified and depended files. This is very good and very effective when you have a project with more then one hundred functions.
If you are looking for a debugger, check http://pgfoundry.org/projects/edb-debugger/ that can be included in pgAdmin. I have never seen any other tool that can debug plpgsql, only pgAdmin.
I had similar question and guys recommended me Toad Extension for Eclipse. You can see the discussion here: Development oriented PostgreSQL IDE

Advice on learning about web applications

I know how to write programs in Java and C++, and would like to learn how servers, databases and Internet based applications work so I could start developing them.
Where should I start? What should I learn first? What books would you recommend for me?
Thank you, in advance :)
I would start by either trying Tomcat which would let you create fairly basic web applications. I would start by playing around with either servlettes or JSPs. There is a lot documentation and examples.
Or you could start by downloading and playing around with a database. PostgreSQL is really good. It is free and they have a tool called pgadmin which is a really good ide.
Once you have been able to get these set up and working I would then start taking a look at some various frameworks that exist to make using these tools a lot easier. For example, you could take a look at Guice or Spring for dependency injection or a range of other tools. This is a comparison of each.
You will also probably want to also look into Velocity, Freemarker, or struts, or something similar. These will make your life a lot easier.
For the database you could look at: Hibernate or MyBatis, both are really good and function slightly differentially. Hibernate is very commonly used and they cache objects very efficiently.
I don't know what you mean by "cells", anyway you may start from open source technologies and their online docs, like Apache, MySQL, and PHP.

Resources