MySQL DATABASE -very good thesis
The idea of this thesis is to create a database for a hypothetical company that has five branches located in different countries. It is a car rental company. This will allow each branch to be able to add, update and retrieve data in database. This database will be based on the relational model. In many industries today relational model is widely used. The benefits of a computerised database for the company are various. It is faster to retrieve information from a database on a computer than to search it from an old fashioned card or other filing system. Also adding new data is faster, making it an economically better solution. A computer database is also more reliable. Chances of making mistakes, for example double entries, are smaller. It is more secure, because it can be used only by the people who are authorized and have the correct password. A database is accessible from anywhere, any branch of the company, as far as you have the necessary applications. Microsoft Access, Oracle and visual FoxPro are the main relational products used to create a database.
The aim of this thesis is to show how it is much faster and easier to find required information from a database than from other data storage systems. How can we calculate the average sales within the company by using the database? How can we find a member of staff by the letter with which their name either begins or ends? How can we find out which contracts have a cost more than a certain amount? These questions will be later solved with the MySQL language. SQL (Structured Query Language) is an industry standard language particularly designed to enable people to create databases, add new data to databases, insertion, updating and deletion of data. SQL was initially developed to operate on data in databases that follow the relational model. SQL is a programming language for querying and modifying data and managing data.  A database management system also includes management and administrative functions, which use a command-line interface that allows the entry and execution of language commands. A database is a structure made to keep information that is 2 valuable to the user. A database management system is the tool used to build the structure of the database and in operating on the data contained within it. The project will have 6 tables. Which contain staff, branch, customer, car, type and hire contract data. I will also give examples of some useful queries that can be done with the database.
INTRODUCTION TO MySQL
MySQL is a relational database management system (RDBMS) that runs as a server providing multi-user access to a number of databases. In MySQL the beginning My of the name comes from the daughter of the Finnish developer. SQL was initially developed to operate on data in databases that follow the relational model. It is a programming language for querying, modifying and managing data. MySQL is the most common open source database tool. It is considered an easy and reliable program compared to other database software. MySQL offers various different programs that are database related. The most famous one is MySQL Enterprise.
2.1 Defining databases
Database is a set of tables that can be manipulated in accordance with the relational
model of data. It is a collection of integrated records. A record is a representation of
some conceptual object that has multiple attributes like name, address and telephone
number of a customer.
A database consists of both data and metadata. Metadata is data that describes the
structure of the data within a database. They store metadata in an area called the data
dictionary, which describes the tables, columns, index constraints, and other items that 3
make up the database.  Databases come in all sizes, from a simple collection of a
few records to millions of records.
2.2 Database design consideration
A database is a representation of a physical or conceptual structure, such as an organization, an automobile assembly, or the performance statistics of all the majorleague baseball clubs. The accuracy of the representation depends on the level of detail of the database design. The amount of effort that you put into database design should depend on the type of information you want to get out of the database. It is always good to make a database plan and to be able to estimate the size of the database you need. A plan can vary from a single paper drawing to a hundred page document describing every possible thing to do with the database, usually when the plan is bigger a more complex database is needed. Decide how much detail you need now and how much you may need in future and then provide exactly that level of detail in your design. Databases are perfect for applications that have many users because coordination between all users is easy. Maintenance and security questions should also be properly thought before designing anything. Database should be designed to be as small as possible and to avoid not useful information. It might be not so easy to do bigger changes in your database later. Normalization rules should always be followed and different kind of applications might have different performance needs. Database can also be over normalized, this means that before normalization it has lots of small tables that form a complicated network of relations which can affect performance and should be avoided if possible. Performance also depends on the amount of users so you should consider what changes might happen to the amount of users of your database in future and what are the effects. Data integrity is in danger if you do not correctly limit the values entered to fields, it reduces the quality of data. 4 2.3 Comparing database models The relational model, as expressed through relational calculus and relational algebra, does not distinguish between primary keys and other kinds of keys. Primary keys were added to the SQL standard mainly as a convenience to the application programmer. Hierarchical database model uses parent/child way of representing data, if drawn it would be tree shaped. Each parent record can have more than one child records. Entity types are all in one-to-many form. Probably the most well known example of a hierarchical database is the windows registry. Network model is more flexible than the hierarchical structure because it allows each record to have one or more parent and/or child records. The relational model allows whole tables of records to be related to each others. There is also an object oriented database model which is not that commonly used but it works well in some specific uses for example with molecular biology. All these database models are in use but the relative model is most common because it is most flexible of these. In this thesis I have decided to use the relational database model because it allows the user to make queries and retrieve information more freely and gives more possibilities for detailed searches.
Free download research paper