DB (Database)
: 데이터를 체계적으로 저장하고 관리하는 공간
: 여러 사람이 데이터를 효율적으로 저장, 수정, 검색, 삭제할 수 있도록 구조화된 방식으로 구성된다.
DBMS (Database Management System)
: 데이터베이스를 관리하는 소프트웨어
: 데이터의 저장, 조회, 수정, 삭제 등의 기능을 제공한다.
: 여러 사용자가 동시에 접근할 수 있도록 하며 트랜잭션 관리 등의 기능도 포함한다.
RDBMS (Relational Database Management System)
: 테이블(표)의 형태로 데이터를 저장하고 각테이블 간의 관계를 정의하여 데이터를 관리하는 DBMS
: SQL을 사용하여 데이터를 조작하고 대표적으로 MySQL, PostgreSQL, Oracle, MSSQL 등이 있다.
Tibero
: TmaxSoft에서 개발한 국내 RDBMS로 Oracle과 높은 호환성을 가지고 있어 대체 DBMS로 사용된다.
Oracle Database
: 오라클사가 개발한 대표적인 상용 RDBMS로 대규모 기업 환경에서 많이 사용된다.
MySQL
: 오픈 소스 기반의 RDBMS로 웹 애플리케이션 및 중소 규모 시스템에서 널리 사용된다.
PostgreSQL
: 오픈 소스 RDBMS로 높은 확장성과 기능을 제공하며 기업 및 연구기관에서도 많이 활용된다.
select empno, ename, job from emp;
select empno, sal, hiredate from emp order by sal asc;
select empno, ename, sal from emp where sal >= 2000;
show databases;
use scott;
DESC emp;
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] (요소별 곱셈)
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, :])
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
