databases Archives - SoftUni Global https://softuni.org/tag/databases/ Learn Programming and Start a Developer Job Thu, 05 Jan 2023 11:28:12 +0000 en-US hourly 1 https://wordpress.org/?v=6.1.3 https://softuni.org/wp-content/uploads/2022/04/cropped-SoftUni-Global-Logo-Square-notext-32x32.png databases Archives - SoftUni Global https://softuni.org/tag/databases/ 32 32 How to Become Google Expert Developer? [Dev Talks #3] https://softuni.org/dev-talks/how-to-become-google-expert-developer/ https://softuni.org/dev-talks/how-to-become-google-expert-developer/#respond Thu, 16 Jun 2022 14:10:31 +0000 https://softuni.org/?p=21300 Say hello to Iliya Idakiev. He will take you into the world of Google Developer Experts

The post How to Become Google Expert Developer? [Dev Talks #3] appeared first on SoftUni Global.

]]>

Meet Iliya Idakiev. He is a Google Developer Expert (GDE) in Angular and Web Technologies and he has been working with JavaScript for over 7 years. He teaches at Sofia University and has been running his own company (Hillgrand) for almost 5 years where he develops various web applications. He likes to organize and participate in JavaScript events and he and his team have a YouTube channel (commitjs). 

Today he is here to answer some questions you probably have about the process of becoming a GDE.

What inspired you to become a developer?

“My experience began at University. My major was Informatics. I was studying C++ and also working with .NET and C#. Then I decided to learn JavaScript. Shortly after that, I started teaching JavaScript and opened my own company.”

How did you become a Google Developer Expert?

“To be a Google Developer Expert means to be recognized by Google for the things that you do for certain technologies. I wanted for a long time to become a Google Angular Expert. I was organizing events and a lot of courses. I started to go to conferences and I met with a lot of people who were already Google Developer Experts. So one day I decided to go on several interviews and everything went pretty smooth.”

What is the process of becoming a Google Developer Expert?

“First, you have to be recommended by another Google Developer Expert and you must send all the background that you have (open-source projects, events, courses, etc.). You need to contribute to the community. The person from Google will check your background and you will have 2 or 3 interviews (personal and technical). Among all the benefits of becoming a Google Developer Expert, the biggest one for me is that you get recognized by Google and people look at you differently.”

What is your experience with contributing to open-source projects?

“When you are working on some application and you are using some modules, at a certain point you will start to discover issues with these modules or new features that can be added. If you have time, you can fix these issues or add new features and make a pull request. This is a way to become a contributor.

Another way is to open-source the useful libraries that you developed in your projects.”

How do you relax?

“I like walking and traveling to peaceful and beautiful places. I was a DJ before and still do it from time to time.”

What are the projects that you are working on?

“I mostly do private JavaScript-related training. I like live coding, which is much more interesting and effective for the students. One of the biggest projects we developed is the Front-End of a customer portal for monitoring and controlling off-grid and hybrid power systems. It was very challenging, and I am proud of this project.”

When do you realize that you are successful?

“This is other people’s decision, not mine. But I can say that I succeed when I accomplish my goals.”

What tips for success would you give?

“I think that everyone should find what he/ she is happy and enthusiastic about and try to become the best in it. Do not focus on the money/ salary, but focus on becoming better in what you do. Dedicate yourself and do not give up. This will make you successful.”

How did you manage to stay motivated?

“Going to meet-ups and knowledge sharing is very good and useful. This will keep you awake and inspired.”

What advice will you give to young people who study at University?

“The University is a place where you can learn something that is going to be like a base for your life ahead. My advice is to start teaching other people as soon as you can because this will make you better in your field. Be a part of the community that is doing what you are doing and try to solve other people’s problems (for example, on Stack Overflow). Sharing knowledge is amazing!”

Do you have a favorite book on programming?

“I would recommend books like “Clean Code”,Clean Architecture”, and “Enterprise System Architecture”. It is wise to invest time in something useful for your field. Also, GitHub is the best “book” that I would recommend.”

How do you see yourself in 5 years?

“My goals are to develop my company and give my team a better working environment. I see myself still teaching other people and contributing to the community.”

The post How to Become Google Expert Developer? [Dev Talks #3] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-talks/how-to-become-google-expert-developer/feed/ 0
What is a Database System (DBMS)? [Dev Concepts #36] https://softuni.org/dev-concepts/what-is-a-database-system/ https://softuni.org/dev-concepts/what-is-a-database-system/#respond Thu, 26 May 2022 06:00:00 +0000 https://softuni.org/?p=21165 In this lesson, we explain the concept of databases and typical CRUD operations. We will also take a look at relational and NoSQL databases.

The post What is a Database System (DBMS)? [Dev Concepts #36] appeared first on SoftUni Global.

]]>

database is a collection of data that is organized so that it can be easily accessedmanaged, and updated.

  • Usually, you need to store data that will be accessible even after you end the program execution.
  • One way to do that is by using a text file, but this is not scalable and does not provide any structure.

database-with-serverDatabases hold and manage data in the back-end systems. Almost all modern software systems use a database in some form. The data in database systems is organized in tables, collections, key-value pairs or other structures. The software, which managesretrieves and manipulates data in a database, is called Database Management System(DBMS).

Relational and Non-Relational Model

In this section, we will explain the difference between these two database models:

  • The relational model is based on tables and relationships.
  • The non-relational model is based on collections of documents.

The structure of relational databases is strict, while the non-relational is not so strict. SQL databases regulate the input data, what their format is, how different types of data are connected, etc. RDBMS systems manage relational databases and expose a universal interface for developers: the SQL language. Relational databases organize data in tables, which hold data rows, and each row holds columns.

relational-vs-nosql

Non-Relational databases have a dynamic schema. A schema is the structure of the database, which describes all its objects (tables, collections, views, and others) and their structures. The data stored in NoSQL databases are not strictly structured. Sometimes these databases are called “schema-free databases“. Properties of an entity (the columns in the SQL database) can be added dynamically. NoSQL databases can be based on several data models (several ways to structure data).

Define, Manipulate, Retrieve and Manage Data with DBMS

Database Management System (DBMS) is a server software, which takes data queries of manipulation commands from the clients, execute the commands in the database, and returns the results to the clients.

dbms-diagram

While a database could be just a collection of data files, the DBMS is what makes it so powerful with its structure, algorithms, optimizations, and APIs. For comparison, in a text file, you will be able to save whatever information you like, while in a database, managed by a DBMS, you can set rules on the incoming data. DBMS systems implement a programming API or specialized language, such as SQL, to manage data.

To do so, first, we create a query (or command) through the client that is passed to the engine through its API. The engine processes the query and accesses the data files. Then, the database storage returns the desired data from the data files to the engine. Finally, the engine processes the returned data and passes it to the client for visualizing in a human-readable format.

Databases are very powerful in keeping collections of entities. The relational model is based on tables and relationships, and the non-relational model is based on collections of documents. Database systems are an important component of most modern software systems, and therefore software engineers must have at least basic database skills

Lesson Topics

In this tutorial, we cover the following topics:
  • Databases Introduction

  • SQL vs NoSQL Databases

  • DBMS Systems

Lesson Slides

The post What is a Database System (DBMS)? [Dev Concepts #36] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/what-is-a-database-system/feed/ 0
Databases, MySQL and MongoDB [Dev Concepts #35] https://softuni.org/dev-concepts/databases-mysql-and-mongodb/ https://softuni.org/dev-concepts/databases-mysql-and-mongodb/#respond Mon, 09 May 2022 06:00:00 +0000 https://softuni.org/?p=20139 In this lesson, we explain the concept of databases in software development, the role of relational databases and the SQL language, and the NoSQL databases in modern software engineering.

The post Databases, MySQL and MongoDB [Dev Concepts #35] appeared first on SoftUni Global.

]]>

We will start with the concept of data storage, the need of database systems and the difference between relational and non-relational databases. You will become familiar with the concept of Database Management Systems (DBMS), such as MySQL, MongoDB and Redis.

What is more, you will learn about the relational database model, the SQL language and some of its basic commands for data query and manipulation. In the end, we will explain the NoSQL databases (which hold collections of documents) and how to query and manipulate a document-based NoSQL database.

In the end, we will show you a live demo of how to work with MongoDB and Robo 3T. From the demo, you will learn:

  • how to create a database and a collection of documents
  • how to insert a document
  • how to edit, delete and query documents

Databases

A database is a collection of data that is organized so that it can be easily accessed, managed, and updated. Database Management System (DBMS) usually manages a database. DBMS systems are also called “databases servers“, because they manage data and serve developers through an API, using the “client-server” model of communication.

Databases implement the classical CRUD operations. CRUD is an abbreviation with each letter standing for a single operation.

Those are the basic operations you will be performing on a database:

  • C – Create (or add or insert) new data.
  • R – Read (or retrieve or query) data.
  • U – Update existing data.
  • D – Delete existing data.

Relational and NoSQL Databases

relational-vs-nosql-dbs

Relational databases organize data in tables and data rows. For example, an e-commerce software could have a table holding the products. Each table row could hold product idproduct namedescriptionsupplier, and price. In relational databases, the SQL language is used to query and modify data.

NoSQL databases hold collections of documents or key-value pairs. Document databases (like MongoDB) manage collections of documents (such as products or vendors). These key-value pair structures are also known as “dictionaries“. They support a fast “search by key” operation. Key-value data storage systems are good for organizing simple data.

From Data Storage to Databases

Databases give you the possibility to keep different data about the same thing in columns or properties. Multiple data objects of the same type can be stored in a table or collection. Such data objects are also called “entities“.

table-data-info

In the image above, we have several entities like products, customers, and orders. Each entity would have several data characteristics, which can be stored in data columns or object properties. This way the data has “structure“. It is organized consistently and in a manageable way. Each row holds a single entity (in this example – an order). As you may have guessed, this is much more optimized than keeping physically thousands of receipts (on paper or in text files).

Why Do We Need Databases?

There are far more reasons to use a database rather than physical storage. Data storage is not the primary reason to use a database system.

As we said earlier, imagine having thousands of receipts. It would be quite impractical to search these receipts unless they are carefully structured and ordered. That is easily solved with a database as it is stored on your computer, or even on a cloud service. Database tables and collections can be indexed, and this allows searching millions of documents in milliseconds.

Database systems are an important component of most modern software systems, and therefore software engineers must have at least basic database skills. They are very powerful in keeping collections of entities and implement efficiently the CRUD operations, queries, searching, and many more.

Lesson Topics

In this tutorial, we cover the following topics:
  • Database Intro

  • SQL vs NoSQL Databases

  • DBMS Systems

  • Relational Databases and SQL

  • NoSQL and MongoDB

Lesson Slides

The post Databases, MySQL and MongoDB [Dev Concepts #35] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/databases-mysql-and-mongodb/feed/ 0
What You Need to Know about Back-End Technologies [Dev Concepts #23] https://softuni.org/dev-concepts/what-you-need-to-know-about-back-end-technologies/ https://softuni.org/dev-concepts/what-you-need-to-know-about-back-end-technologies/#respond Tue, 11 Jan 2022 06:10:00 +0000 https://softuni.org/?p=10418 In this video, we will get familiar with Back-End technologies and concepts like Databases, ORM and MVC Frameworks, Rest, Containers and Docker.

The post What You Need to Know about Back-End Technologies [Dev Concepts #23] appeared first on SoftUni Global.

]]>

In this lesson, we take a look at Back-End technologies in software development. That is a technical term that deals with server-side operations, including CRUD functions with database and server logic. Meanwhile, Front-End development is programming which focuses on the visual elements of a website or app that a user will interact with.iceberg-front-back-end

Back-End technologies are essential in the development of software projects. Whether you are a startup founder, or a corporate decision-maker, selecting the right Back-End technology is crucial to determine your project success. Choosing the correct Back-End technologies can guarantee scalability, functioning speed, and instant response to customers’ needs.

In our video, we explain foundation concepts that aspiring developers shouldn’t miss. Keep up with the videos, and you will learn about:

  • Databases: They are a place for storing our data but in an organized structure.  Data is organized and stored in the form of tables. A table contains rows and columns. Each row in a table is a record, and column a field that describes the row.  Read our article about them here.
  • ORM: This is short of Object Relational Mapping. It is the idea of writing queries using your favorite programming language. You interact with a database using your language of choice instead of SQL. Read our article about them here.

mvc-logo

  • MVC: The term stands for ModelViewController. It is a design pattern used to help us build frameworks for applications. The MVC splits the application into three different sections. Each section represents one word from the abbreviature. Each component has a specific responsibility and has a link to the others. Read our article about them here.
  • Web Services and APIsWeb Service is a network-based resource that fulfills a specific task. On the other hand, API is an interface that allows you to build on the data and functionality of another application. There is an overlap between the two. WEB services are APIs, but APIs can be offline. Many public APIs are transparent, with open documentation and self-service portals for quick developer onboarding. On the other hand, Web Services are not open source. Instead, they tend to offer specific data and functionality to partners.

web-vs-api

  • REST and RESTful Services: REST is a set of architectural constraints, not a protocol or a standard. API developers can implement REST in a variety of ways. When a client request is made via a RESTful API, it transfers a representation of the state of the resource to the requester or endpoint. This information, or representation, is delivered in one of several formats via HTTPRestful Web Services is a lightweight, maintainable, and scalable service built on the REST architecture. It also exposes API from your application in a stateless manner to the calling client. The calling client can perform predefined operations using the Restful service.rest-diagram
  • Virtualization, Containers, and Docker: Virtualization is a relatively new technology that allows creating a completely isolated machine from scratch, all in software. Nowadays, companies are starting to prefer Docker. It s a tool that uses containers to make the creation, deployment, and running of applications a lot easier. Read our article about them here.docker-image-vm

Hopefully, reading all this about Back-end technologies will help you in making the right decision. No matter what language you are using, all of those concepts are the same. For every aspiring programmer, it’s a must to know all of the topics. If you want to learn more about the differences between Front-End, Back-End, and Full-Stack technologies you can read our article here.

Lesson Topics

In this tutorial we cover the following topics:
  • Front-End and Back-End
  • Databases
  • ORM
  • MVC
  • ORM
  • Web Services and APIs
  • Rest and RESTful Services
  • Virtualization, Containers, and Docker

 

Lesson Slides

The post What You Need to Know about Back-End Technologies [Dev Concepts #23] appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/what-you-need-to-know-about-back-end-technologies/feed/ 0
Programming Concepts Explained: Databases https://softuni.org/dev-concepts/programming-concepts-explained-databases/ https://softuni.org/dev-concepts/programming-concepts-explained-databases/#respond Tue, 12 Oct 2021 10:20:13 +0000 https://softuni.org/?p=7327 Ever wondered what a database is? Watch this short video to find out!

The post Programming Concepts Explained: Databases appeared first on SoftUni Global.

]]>

A database is an organized collection of structured information, or data, typically stored electronically in a computer system. A database is usually controlled by a database management system (DBMS). A good database is crucial to any company or organization. This is because the database stores all the pertinent details about the company such as employee records, transactional records, salary details, etc.

Developing a database for your business can help you:

  • reduce the amount of time you spend managing data
  • analyze data easier
  • improve the quality of the information
  • turn disparate information into a valuable resource

The post Programming Concepts Explained: Databases appeared first on SoftUni Global.

]]>
https://softuni.org/dev-concepts/programming-concepts-explained-databases/feed/ 0