학습 정리 - DB, SQL, numpy (2025.02.03)

수아·2025년 2월 3일
0

학습 정리

목록 보기
17/51
post-thumbnail

회고 리스트

1. 아래의 용어를 설명하시오.

  • DB (Database)
    : 데이터를 체계적으로 저장하고 관리하는 공간
    : 여러 사람이 데이터를 효율적으로 저장, 수정, 검색, 삭제할 수 있도록 구조화된 방식으로 구성된다.

  • DBMS (Database Management System)
    : 데이터베이스를 관리하는 소프트웨어
    : 데이터의 저장, 조회, 수정, 삭제 등의 기능을 제공한다.
    : 여러 사용자가 동시에 접근할 수 있도록 하며 트랜잭션 관리 등의 기능도 포함한다.

  • RDBMS (Relational Database Management System)
    : 테이블(표)의 형태로 데이터를 저장하고 각테이블 간의 관계를 정의하여 데이터를 관리하는 DBMS
    : SQL을 사용하여 데이터를 조작하고 대표적으로 MySQL, PostgreSQL, Oracle, MSSQL 등이 있다.

2. 사용화된 DBMS 종류 4가지 정도를 말해 보시오.(티베로 포함)

  • Tibero
    : TmaxSoft에서 개발한 국내 RDBMS로 Oracle과 높은 호환성을 가지고 있어 대체 DBMS로 사용된다.

  • Oracle Database
    : 오라클사가 개발한 대표적인 상용 RDBMS로 대규모 기업 환경에서 많이 사용된다.

  • MySQL
    : 오픈 소스 기반의 RDBMS로 웹 애플리케이션 및 중소 규모 시스템에서 널리 사용된다.

  • PostgreSQL
    : 오픈 소스 RDBMS로 높은 확장성과 기능을 제공하며 기업 및 연구기관에서도 많이 활용된다.

3. 아래의 SQL 구문을 작성하시오. (MySQL 기준)

  • emp 테이블에서 사원번호, 사원이름, 직업을 출력해보세요.
select empno, ename, job from emp;

  • emp 테이블에서 사원번호, 급여, 입사일을 출력해보세요.
    단,급여가 적은 순서대로 출력
select empno, sal, hiredate from emp order by sal asc;

  • emp 테이블에서 급여가 2000 이상인 사원의 사원번호, 사원이름, 급여 출력하기
select empno, ename, sal from emp where sal >= 2000;

  • 현재 서버에 어떤 DB(스키마)가 있는지
show databases;

  • 사용할 데이터 베이스를 scott 으로 지정
use scott;

  • emp table 에 무슨 열이 있는지 확인
DESC emp;

4. numpy와 리스트의 차이는?

1) 요소별 연산
: numpy는 요소별 연산 자동처리 / 리스트는 반복문이 없다면 요소별 연산 불가능
: numpy는 요소별 덧셈과 곱셈 / 리스트는 연결과 반복

2) 성능
: 리스트는 포인터를 포함하여 메모리 사용량이 크고 파이썬의 일반 객체이기 때문에 느리다.
: numpy는 연속적인 메모리 할당으로 메모리 사용량이 적고 C 기반 최적화되어 빠르다.

3) 리스트는 요소들 사이에 ,가 있고 numpy엔 없다.

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
print(list1 + list2)  # [1, 2, 3, 4, 5, 6] (리스트 연결)

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
print(arr1 + arr2)  # [5 7 9] (요소별 덧셈)

print(list1 * 3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3] (반복)
print(arr1 * 3)   # [3 6 9] (요소별 곱셈)


print(list1 * 3)  # [1, 2, 3, 1, 2, 3, 1, 2, 3] (반복)
print(arr1 * 3)   # [3 6 9] (요소별 곱셈)

5. 아래에서 슬라이싱을 활용하여 아래의 출력이 나오도록 하시오.

arr = np.array([ 
                    [ 1, 2, 3, 4, 5 ],
                    [ 6, 7, 8, 9, 10 ],
                    [ 11, 12, 13, 14, 15] 
               ])

# 출력 : 
[[ 6  7  8  9 10]]

print(arr[1:2, :])

6. 아래 출력을 적어 보세요.

arr = np.array([ 
                    [ 0, 1, 2 ],
                    [ 3, 4, 5 ],
                    [ 6, 7, 8 ] 
               ])

print(arr.shape)		# 출력 : (3, 3)
print(arr[2,2])			# 출력 : 8
print(arr[0,0])			# 출력 : 0

print(arr[-1,-1])		# 출력 : 8
print(arr[-2,-2])		# 출력 : 4
print(arr[-2,2])		# 출력 : 5

0개의 댓글