Difference between mySQL and SQLite in simple terms - Database Solution - php

I seen many questions posted but not these two exactly. I also tried reading the Wikipedia definitions but I don't have enough technical understanding to know what it is saying exactly.
I am looking for a database solution where the User of a website can enter customized data into the columns in an Order.tbl and link it to their account in the Account.tbl.
Scenario:
I make customized shirts. The user would need to log in to their account and order customized details such as pictures and personalized text which could differ from User to User. It would need to be dynamic in this way versus a static selection of shirts.
The software I use to make the shirts can connect to an MS Access database, SQLite database, mySQL database and a few other flat file databases like Excel and CSV.
Currently my software subscription is with Access and SQLite and was informed that Access would not work in my case because I am using web forms. Which leaves me with SQLite or upgrade to handle mySQL.
The only thing I really understand is that mySQL is more robust than SQLite but I am unsure if I actually need it or not.
Any suggestions for a beginnner?

Related

How to access a Sharepoint list from PHP?

I'm trying to get data from a SharePoint list from my PHP website, which contains a MySQL database. The list contains data which can be stored in the MySQL database.
Here are 2 solutions I thought of, but I'm also unsure of their possibility:
Using a webservice to reach the SharePoint list from PHP.
Connecting PHP's MySQL database with SharePoint's list so that they communicate with one another. But I don't know how to go about doing this solution.
Does anyone know how to improve on the above mentioned solutions? Or provide any alternatives?
Look into the Business Connectivity Service. It allows you to configure a database table as an external list. To the user's they will be working with a SharePoint list but behind the scenes, the list is actually a representation of the database table with direct crud functionality.

Selective syncing of MySQL database with SQLite

I'm trying to develop an Android app that provides information on a chosen topic. All the information is stored on a MySQL database with one table for each topic. What I want to achieve is that when the user chooses a topic, the corresponding table should be downloaded to SQLite so that it can be used offline. Also, any changes to that particular table in the MySQL should be in synced with the SQLite db automatically when the phone connects to Internet the next time.
I have understood how to achieve the connection using PHP and HTTP requests. What I wanna know what is the best logic to sync any entries in a particular table in MuSQL database to the one in SQLite. I read about using various sync services but I don't understand how to use them. All my tables have exactly the same schema so is there an efficient way to achieve the sync ?
I have a decent knowledge in SQL but I'm kinda new to Android.

Using Sqlite in a web application

I'm currently developping an application which allows doctors to dinamically generate invoices. The fact is, each doctors requires 6 differents database tables, and there could be like 50 doctors connected at the same time and working with the database (writing and reading) at the same time.
What I wanted to know is if the construction of my application fits. For each doctors, I create a personnal Sqlite3 database (all database are secure) which only him can connect to. I'll have like 200 Sqlite database, but is there any problems ? I thought it could be better than using a big MySQL database for everyone.
Is this solution viable ? Will I have problems to deal with ? I never did such an application with so many users, but I thought it could be the best solution
Firstly, to answer your question: no, you probably will not have any significant problems if a single sqlite database is used only by one person (user) at a time. If you highly value certain edge cases, like the ability to move some users/databases to another server, this might be a very good solution.
But it is not a terribly good design. The usual way is to have all data in the same database, and tables having a field which identifies which rows belong to which users. The application code is responsible for maintaining security (i.e. not to let users see data which doesn't belong to them), and indexes in the database (which you should use in all cases, even in your own design) are responsible for making it fast.
There are a large number of tutorials which could help you to make a better database design; a random google result is http://www.profsr.com/sql/sqless02.htm .

Calling from an Sybase Database ODBC

I am writing a scheduling program for my company and I wanted to pull information from our Management Information System to supplement the schedule. The MIS has information on all of the jobs we need to run including due dates, piececounts, operations, estimated run times and other valuable information for a scheduler. I talked to support for the software and they basically stonewalled me. They kept avoiding my questions.
When I forced the issue by having the CEO call them, they gave up the database was a Sybase database and that it was ODBC compliant. Then they me a 500 page document of the data mappings of the database, but no explanation. Looking through it, i can tell a lot of it is just general settings for the software, and i believe i found the tables that store the job information. But i have no idea what the fields in the table are.
I connected to the ODBC connection successful in a python interpreter shell. I did a select * from table statement and i got a crapton of information back. But i dont know what i selected. Is there any way to see what fields im collecting information from?
So Basically I am asking if there is a way to know what information i drew from a table without knowing the field names.
Thanks
If I were the CEO, my first thought would be to buy scheduling software before I'd ask an individual or team in my company to write such a thing. It's a difficult but important problem. Why would you want to develop, debug, and maintain such a thing? It's been solved. I'd rather just use an existing solution. Just saying.
I am asking if there is a way to know what information i drew from a
table without knowing the field names.
The field names and types are the easy part. You can ask Sybase to DESCRIBE TABLE. It'll give you all the column names and types.
But it won't have any meta-data that gives you business context for what they mean. You'll have to go back to that MIS group, domain experts, or know the process well yourself to figure that out.

How do I handle multiple datasources?

I am working on a web application (PHP + Doctrine + MySQL) to sell. The problem is that there is information that the clients will need from my central data source and they will have information that they don't want me to see (financial and such).
My Question, what is the best way to get that information to the customer application?
My Initial Thoughts:
The application I am creating is built with Doctrine. I think I can create a connection to two databases by using something like (let me know if you know exactly how to do it):
$this->setTableName('host.dbname.tablename');
The problem with this is that I would have to open up the MySQL port, which a hosting company may not do for me nor may it be safe. Let me know if this is not so.
So I thought about setting up a php-cron job that will download the new data every day (daily would be sufficient). This would require some sort of php page on my data source to output the files. The problem with this is figuring out what information the client app has and updating it.
Edit: I just read about Federated Tables. This may be another solution if I can get the host to open port 3306.
Thanks
Create a view at the finance database to the table in question, then create a federated table at your web source database based on that view. If all you're going to do is read, then your web user only needs SELECT privileges.

Categories