Category:Cumulus MX: Difference between revisions

1,244 bytes added ,  13:14, 17 May 2020
m
m (→‎Optional Sections: Minor resequencing of sentances)
Line 701: Line 701:
Cumulus MX includes functionality not in Cumulus 1, and this is one example of a new feature.  It is designed to automate updating of MySQL databases whose schema has each table based on one of the Cumulus log files. This MX feature was developed from [[ImportCumulusFile|this script]] for Cumulus 1.   
Cumulus MX includes functionality not in Cumulus 1, and this is one example of a new feature.  It is designed to automate updating of MySQL databases whose schema has each table based on one of the Cumulus log files. This MX feature was developed from [[ImportCumulusFile|this script]] for Cumulus 1.   


It was IBM who first invented the concept of Relational Databases in the 1970s and they needed a language for all aspects of interaction with the new database and they called it Structured (English) Query Language. The brackets indicate the word was later removed. You may find when SQL is talked about, it is either pronounced "sequel" (as if there is still a "E" after the "S") or the 3 letters are simply spelt out. SQL is not '''Structured''' in the modern usage of that word in programming languages. SQL is not just for running '''Queries''', it can give and revoke access permissions, create and drop tables, and do many more tasks than just query a database to get results. SQL is a '''Language''' as it does have a set vocabulary, a defined sequence in which key words must appear, and it is used for describing tasks to a database.
It was IBM who first invented the concept of Relational Databases in the 1970s and they needed a language for all aspects of interaction with the new database and they called it Structured (English) Query Language. The brackets indicate the word was later removed. You may find when SQL is talked about, it is either pronounced "sequel" (as if there is still a "E" after the "S") or the 3 letters are simply spelt out. SQL is not '''Structured''' in the modern usage of that word in programming languages. SQL is not just for running '''Queries''', it can give and revoke access permissions, create and drop tables, and do many more tasks than just query a database to get results. SQL is a '''Language''' as it does have a set vocabulary, a defined sequence in which key words must appear, and it is used for describing tasks to a database. A relational database has to satisfy a number of conditions, but the basic one is that all data appears in a table with rows and columns. The columns have a particular order, but there is no control over the order of rows, so you can't specify a row number, you '''either''' specify a primary key that identifies a particular row, '''or''' you specify a sort by the value in any column in a particular order and which row (or rows) you want out of that sorted order.


Like video recorders and browsers, there was a relational database war in the 1980s between 2 big players IBM's SQL and Ingres' QUEL, each gaining popularity in different ways, but the latter lost out, with Oracle taking over the former as it became dominant and very widely adopted. There were a number of minor players who implemented their own relational databases, and initially their own languages, but SQL obtained a ISO definition and was then widely adopted, surviving the invention of the internet, and the move from mainframes to small devices. MySQL is one of the rivals, but all versions of SQL are related and the dialect differences are comparatively minor compared to the commonality of the majority of the language.  
Like happened with video recorders and browsers, there was a relational database war, and thus division in language adoption, in the 1980s between 2 big players IBM's SQL and Ingres' QUEL, each gaining popularity in different ways, but the latter lost out, with newcomer Oracle taking the lion share of the commercial usage of SQL soon so very widely adopted, it achieved world dominance. There were a number of minor players who implemented their own relational databases, and initially their own languages, but SQL obtained a ISO definition in 1985 and was then widely adopted, surviving the invention of the internet, and the move from mainframes to small devices. MySQL is one of the rivals, but all versions of SQL are related and the dialect differences are comparatively minor compared to the commonality of the majority of the language. SQL is designed to be largely independent of how data is stored, so from 2000 as per newer standard SQL now works with [[Xml_webtags|XML]] as well as relational databases.


Mono and .Net implement SQL capability, and this is utilised by Cumulus MX. However, to use SQL on your web site, you need to have a relational database available on your web server that accepts the MySQL that MX generates, this does not restrict you to a MySQL database, as other products will understand the SQL (because of the dialect and commonality point I have just made).
Mono and .Net implement SQL capability, and this is utilised by Cumulus MX in the queries it generates. However, for SQL to work on your web site, you need to have a relational database available on your web server that accepts the MySQL that MX generates. MX does not include a database to install on your web site.  Note, this does not mean your web server must have a MySQL database, as other products will understand the updating SQL (because of the dialect and commonality point I have just made), so the automatic updating should always work. One common difference between products is data types available, so ''it is just possible that you might'' have a database that does not understand the column definitions in the MX option to create a table for you using MySQL dialect, so be prepared in case you have to create each table yourself using a different method.  


====Mandatory section====
====Mandatory section====
5,838

edits