SQL database questions [closed] - mysql

Closed. This question needs to be more focused. It is not currently accepting answers.
Want to improve this question? Update the question so it focuses on one problem only by editing this post.
Closed 7 years ago.
Improve this question
So I have a couple questions that I would like to have cleared up for me. I have searched all over the internet for a month trying to find an answer to these questions. I really want to learn SQL and understand how the language interacts with its database. So here are a couple questions that I have had.
My understanding is that there is MySQL and other software applications that help you interact with your database. What are some other applications that could let me interact with my database?
If I am using MySQL where is the data being stored? On my computer or on a database somewhere else?
Where can I go to get a free SQL server and interact with it using an oracle application to interact with my database?
Can I store files and images in an SQL server?
So, lets say I have an SQL database and it has TONS of traffic running through it. What would I do to split the servers up, but still have then interact with each other? Would I create a database that tells where to send that data?
I know that Oracle, Microsoft, etc. have free SQL servers. Can somebody point me in the right direction? I am not exactly sure where to go to actually put my tables and such on a database. I do have the application however.
I have tons of other questions, but I will search as hard as I can for those. Thanks you for your response in the advance.

My understanding is that there is MySQL and other software applications that help you interact with your database. What are some other applications that could let me interact with my database?
MySQL , SQL Server , Oracle are softwares to be precise
Relational Database management systems RDBMS, they Manage (Store, retrieve ,
modify) data for you.
If I am using MySQL where is the data being stored? On my computer or on a database somewhere else?
Data will be stored in a database, database is really a file on your computer's
file system but you will not directly work with the actual physical
file, you will only work with the RDBMS and the RDBMS will manage that
file for you.
Where can I go to get a free SQL server and interact with it using an oracle application to interact with my database?
SQL Server Express is a free version.
Can I store files and images in an SQL server?
Yes in SQL Server you have the ability of storing files/documents using a feature
called FILESTREAM.
So, lets say I have an SQL database and it has TONS of traffic running through it. What would I do to split the servers up, but still have then interact with each other? Would I create a database that tells where to send that data?
For load balancing SQL Server has a feature called Replication
I know that Oracle, Microsoft, etc. have free SQL servers. Can somebody point me in the right direction? I am not exactly sure where to go to actually put my tables and such on a database.
Download link for Microsoft® SQL Server® 2012 Express

1) I think you might be getting the actual database software and the user interfaces confused for example MySQL is a piece of database software that manages the data stores retrieves it etc. phpMyAdmin is a GUI that you can use to interface with MySQL rather that writing SQL queries. There are other variants of SQL like SQL*Plus and i'm sure there are phpMyAdmin equivalents for all of them however I have only ever used them with the command line. Another alternative is something like MongoDB which is a noSQL database.
2) The data is stored wherever the database is installed. You could run it on a local server. LAMP (linux), WAMP(windows) or MAMP(mac) is the easiest way to get this set up. again look on youtube 100s of tutorials on this
3) http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html I havent fully looked into this I must admit
I wont bother carrying on because M.Ali has posted a very good answers to the rest of the questions

Let's see if I can help you with this:
My understanding is that there is MySQL and other software applications that help you interact with your database. What are some other applications that could let me interact with my database?
MySQL, SQL-Server and others are Relational Database Management Systems (RDBMS for short); they are database software that help you store your data, following the relational model (columns are fields, rows are data-tuples, etcétera). RDBMSs handle the task of storing, updating and retrieving the data, but they are not, by themselves, "applications". An application (as I understand it) is a program designed to interact with a user, and sits between the user and the data stored in the database. So, this is a little schematic of what is going on
Database Application User
-------- ----------- ----
Stores data Receives user input/output Interacts with the app
and sends / updates / reads
data to/from the database
If I am using MySQL where is the data being stored? On my computer or on a database somewhere else?
It's stored in the computer where it's installed (in the simplest configuration). Each RDBMS may handle the data storage differently, but the bottom line is that the RDBMS "worries" about the data storage, and let's you handle the data with a "simple" and "consistent" language (most cases, using the particular SQL "dialect" of the RDBMS)
Where can I go to get a free SQL server and interact with it using an oracle application to interact with my database?
What do you mean by "Oracle application"? Oracle, as far as I know, is a RDBMS. If you want to get the free SQL-Server, go to the Microsoft Site and download it.
Can I store files and images in an SQL server?
Yes
So, lets say I have an SQL database and it has TONS of traffic running through it. What would I do to split the servers up, but still have then interact with each other? Would I create a database that tells where to send that data?
Many RDBMSs have tools to handle this (partitions, replication, etcetera). Read the documentation.
I know that Oracle, Microsoft, etc. have free SQL servers. Can somebody point me in the right direction? I am not exactly sure where to go to actually put my tables and such on a database. I do have the application however.
Google around. MySQL is free, PostgreSQL is free. SQL server has a free version. Also, Google around for a good SQL tutorial (I'd recommend you to learn how to use MySQL, because it's one of the easiest ones).
You should narrow your research. If you want a free, fully featured RDBMS, I'd recommend you use MySQL or PostgreSQL (I don't use SQL server, but that's just me). Also, if you want to develop applications, you should learn how to develop with other languages. Most (if not all) languages have libraries designed to interact with databases.

I would start here: http://www.w3schools.com/sql/sql_intro.asp. W3Schools does a decent job explaining the basics. From there you could branch out to http://www.tutorialspoint.com/sql/sql-rdbms-concepts.htm. A Google search from there would suffice to answer any other questions you may have.

MySQL, Oracle, and SQL Server are some that are used to create SQL databases.
MySql can be stored locally or on a host (godaddy).
MySql is free. I believe you have to pay to use the others.
Yes.
When you get to that point, you'll want to either hire someone, or work on databases and web traffic till you understand a good amount.
I would check with Godaddy, or some other web hosting site, and they can provide free advice.

Related

How can I connect my react native app to MySQL server?

I'm creating a mobile app for an existing website and trying to connect to a local instance I have running on a MySQL workbench. I've seen others recommend against the use of MySQL but I'm stuck with it, since that's the current database. I'm using expo to run my React Native code. Do I need to use a server, like "MAMP?"
Let me know if there is any more info that is needed.
You cannot connect your app directly to your database.
You will need a server/API that acts as an intermediate between the app and the DB. You can code it in most programming languages and if you know PHP, having MAMP on your system will allow you to build your API with PHP.
I've seen others recommend against the use of mySQL
You should definitely question their reasoning. I've been using MySQL for many years now in small and big projects and it has never been an issue. If they're comparing it to non-relational DBs like Mongo, I can understand, it's easier to setup and maintain a NoSQL database than a relational one.
I assume you're not that experienced but I still purposefully used some terms that may be new to a beginner. Since I don't know your skills, I will refrain from pointing you to specific tutorials/articles.
I recommend you to Google anything you don't understand from this answer.

MYSQL or PostgresSQL on AWS

I am trying to understand the trade-offs between going with MySQL or PostgreSQL on AWS.
Some considerations for me are that I am an amateur database user, so I need to be sure resources are available which allow me to overcome problems quickly. Along these lines, I bought the book 'PostgreSQL on the Cloud' and was all set to go with PostgreSQL since the book laid out a great use case.
One thing held me back though is that it is important for my work to be able to to easily use Excel as a front end for importing and exporting data into and out of the Database on AWS.
It looks like MySQL has an open extension which is fully integrated with Excel and is also well documented. My research into PostgreSQL uncovered a much more uneven integration with Excel and a lot of long painful group frustration a closer integration has not already occurred.
Right now, I am leaning to MySQL, but want to make sure I am not missing something.
Thanks!
Microsoft touts a PostgreSQL plugin as well: https://support.office.com/en-us/article/connect-to-a-postgresql-database-power-query-bf941e52-066f-4911-a41f-2493c39e69e4. Never used it, so can't comment on it.
You mention you are a beginner, so I'll add... be careful about security with either of these options. There are options to encrypt the channel between the client and server, which you indicate is running on AWS. If not secure, anyone would be able to effectively monitor the connections, extract credentials, and do whatever to your AWS-hosted DB. Generally, cloud-hosted DBs should be behind an authentication/authorization login process.

Best Database for Windows Server 2008 R2 with SQL 2005

I'm writing the entire database system for a factory, this includes inventory, payroll, incoming and outgoing shipments, job-data, customers, etc. The database will be stored offsite on a server running Windows 2008 R2 with SQL 2005. The guy who runs the server sent me this too:
"We also have quickbooks installed on the server and we have Exchange 2010 running. The terminal server is also ws 2008 R2.
There is plenty of horsepower on the primary exchange/file server. Let me know if you have any other questions.".
I know my boss uses Quickbooks to look at reports and stuff like that. I'm not sure how relevant exchange 2010 is, nor what the significance of "terminal server is also ws 2008 r2" is. My boss wants me to write the entire system in ms access 2010, but I feel like this will be a lot more work than simply writing it in MySQL. Will my boss still be able to look at his reports in quickbooks if we change the database to MySQL? What would be a good database technology to use? I feel the most comfortable writing it in a scripting language using MySQL, but would still be happy if I could write it in something like C/C++. I've been trying to learn access, and it seems that setting up a front-end and back-end database in access would be a pain in the ass. There are going to be several sectors in the factory that will be using the client-side software to run queries and insertions into the database(I think around 5-6).
If I can write this thing in MySQL, I think I could do the whole thing fairly pain free, but I fear that I can't because it will be incompatible with Quickbooks and the previous database(Although I hear converting is fairly easy). Mostly just Quickbook compatibility is my problem.
How horrible would it be to write this thing in Ruby?
Thank you, any help is greatly appreciated.
I don't mean to be a spoil sport but there is a tremendous amount of naivety expressed in this question. It's hard to imagine that you will be successful in designing and implementing such a large system without a basic knowledge of the technologies involved.
A few thoughts:
Quickbooks already covers most of the features you say you will be responsible for implementing. Are you supplementing the existing Quickbooks system, replacing it, or what?
Quickbooks uses its own (extraordinarily slow) database engine. It isn't "compatible" with SQL Server, MySQL, or Access.
SQL Server 2005 is a database. You don't use a database with it, you use it as your database. A Microsoft-centric organization such as the one you describe is not likely to be interested in installing yet another database server like MySQL.
MS Access encompasses both a database "engine" (called JET) and a desktop development environment. The engine can be used with other development environments and the development environment can attach to other database engines (most often SQL Server, but others work too). When you say the boss wants to write the system in MS Access you need to be clear whether he means the engine, the development environment or both. (My guess is they want to use Access as the front-end development platform and SQL Server as the data store).
You will not write a system of this complexity in a month. You probably won't even design it in that time.
Quickbooks can use MySQL as a datasource (or just about anything else), but you'll need to make your database conform to the Quickbooks way of doing things: i.e., your tables will need to match the QB table structures. It sounds like you just need a front end (data entry forms and reports) and a custom back-end. Access can quickly turn into a nightmare if you don't put in some up-front design thought, but it does give you forms & reports & web pages free in a neat little package. Make sure you use an Access Data Project (adp) that's connected to a SQL Server back end. Access does have its own native database, but everything gets stored in one local file and it's not good for applications that will be accessed by multiple people in multiple locations. It also gets complicated when you need to make a change and roll it out to all of your users.
Another option is to look into a customizable web platform, like SalesForce or MS Dynamics. That will also let you create your own tables, forms, and reports, and updates are immediate for all users, but you'll have ongoing monthly user fees. They look great on a resume, though!

Database Development - General Structure and Planning [closed]

Closed. This question needs details or clarity. It is not currently accepting answers.
Want to improve this question? Add details and clarify the problem by editing this post.
Closed 9 years ago.
Improve this question
I'm about to start a fresh project and I'm good on normalization of the data. My question is the business I'm working for has a number of tables on MS Sql Server and some version of Oracle. Access to create temporary or even use temporary tables may be limited. We might be able to setup our own tables but chances are 50/50. The approach taken in the past has been to create temporary tables as needed for data dumps into MS Access.
If I can edit / create tables on the SQL server then I'm good, but if not I was thinking about setting up one of the spare machines as a MySQL or MS Sql Express server rather than using Access as a number of these types of projects have been completed in the past and push towards a gig in size due to the amount of data downloaded for preparing reports. Would this be a reasonable approach if I'm locked out of MS Sql server or Oracle? What would you do if your hands were tied in a similar fashion?
To provide a little more insight here, the data dumps are often used to build dozens of excel reports (mostly charts). I was thinking if I can use the MS Sql or Oracle to do all the work via triggers / stored procedures / etc. then perhaps I can eliminate the need for Access and just download the data via VBA using Excel only to reduce the amount of time it takes to build the reports.
Maybe I can use an ORM and some kind of VB.net code rather than excel to build the charts faster?
I'm open to suggestions, let me know what you all think and any questions I'll try to answer the best I can
Although setting up a PC with something like SQL Server Express or MySQL often sounds like a great idea, I strongly suggest that you get the backing of your boss before doing something of this nature. Installing unapproved software on inappropriate/unmaintained workstations is often frowned upon with extreme prejudice. Were I to do this at my current place of employment I'm confident I'd be looking for a job as soon as it was uncovered. I completely agree that just about anything is better than MS Access - however, supporting an architecture such as the one you describe, at least temporarily until you can find a better gig, is probably better than unemployment. YMMV.
Share and enjoy.
Actually the most easy solution here would be to continue to use access as a front end, and simply link to the tables on the particular server database system in question. That way you save all the money time and resources of having to pull down and build temporary local tables.
The end result is you get to continue to use Access as a great RAD tool, but enjoy the benefits of the security, performance and scalability of the server based system in question.

creating a basic database

Right now, in my internship, I'm assigned to create a system that holds employee information such as personal info, education, salary, etc.
All these stuff is kept in a few spreadsheets right now. I need a basic program, but I feel like I should be using MySQL or another database solution to hold the data. I used MySQL before, but it was a PHP/MySQL assignment which I used Wampserver to create the whole system.
Edit: The system will be used by a few computers across the network. When someone makes a change to the system, it will become visible to other computers aswell. (obviously) (Before the edit, I thought that it's gonna be used by a single computer.)
I'm confused right now. Should I create a PHP/MySQL webpage with wampserver (or similar) to hold the information, or not?
Would it be easier or better to combine MySQL with some other programming language (such as Java/C++) and build a GUI? (I doubt it)
Should I come up with a different solution? Without database usage?
Database usage would be the best option. In the end it will come down to what you are more comfortable using, Java/C++ or php, for what you want to do either can work, but remember the database will need to be live at all times and using wamp server wont cut it. You need to learn how to tun a mysql server without wamp, which is easy(Google is awesome). And personally I would have used Java because Java is also easy to link with mysql, just google it a bit, and java doesn't need to run on a server so no wamp needed as you would have needed for php.
EDIT:
Ok if I understand you correctly what you want to do is the following:
1. Identify a pc to be used as a server and assign it a static IP.
2. This must also be the pc that is turned on first every day and turned of last.
3. Create a front end client application that connects to your sql server that you will be running on the server machine.
Now I am assuming this network is rather small, so you wont need a specific computer to just act as server. The server can also be one of the client machines.
The best approach would be to create a mysql server and make sure the firewall is not blocking your sql server. Then create a client application that can access the database over the network using Java, I find this easier than creating a php server for the users because of port forwarding for an apache server is time consuming, I did it once and never again. Java will be easiest to make the application work over the network. Use Netbeans for the development, it's an awesome IDE and it makes life easier when setting up the database connection.
If you have anymore questions please ask in comment, and I will elaborate, since this might be a bit vague lol.
Of course you should use a database for this type of work. That is the best way to organize, search, sort and filter your data without having to reinvent the wheel.
As to the other questions, the choice of language and environment is up to you to decide after evaluating the needs of your application.
Your solution should use a database to store the data and an front-end application to manage the data.
The database and front-end should be seen as two separate layers. In other words create the database using whatever database your are familiar with eg: MySQL and likewise create the front-end using whatever technology youre familiar with eg: PHP.
Personally for this type of requirement i would typically use MySQL / SQLExpress and ASP.Net / MVC3 front-end.
Hope this is helpful.